39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\AdminUser;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
class AuthController extends Controller
|
|
{
|
|
public function login(Request $request)
|
|
{
|
|
$request->validate([
|
|
'username' => 'required',
|
|
'password' => 'required',
|
|
]);
|
|
|
|
$user = AdminUser::where(['username' => $request->input('username')])->first();
|
|
if (! $user) {
|
|
return $this->error('用户名或密码错误');
|
|
}
|
|
if (! Hash::check($request->input('password'), $user->password)) {
|
|
return $this->error('用户名或密码错误');
|
|
}
|
|
|
|
if($user->is_enable !== 1){
|
|
return $this->error('用户状态异常请联系管理员');
|
|
}
|
|
|
|
return $this->attemptUser($user);
|
|
}
|
|
|
|
protected function attemptUser(AdminUser $user, $name = 'api')
|
|
{
|
|
$token = $user->createToken($name)->plainTextToken;
|
|
return $this->json(['token' => $token, 'info' => $user, 'permissions' => $user->permissionIds()]);
|
|
}
|
|
}
|