| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | <?phpnamespace App\Http\Controllers\Admin;use App\Http\Models\User;use App\Http\Models\Permission;use Illuminate\Http\Request;use Illuminate\Support\Facades\Auth;use Illuminate\Support\Facades\Cookie;use Illuminate\Support\Facades\Hash;use Illuminate\Support\Facades\Route;use Illuminate\Support\Facades\Session;use App\Http\Controllers\Controller;use Illuminate\Support\Facades\URL;use Illuminate\Support\Str;class AuthController extends Controller{    public $request;    public function __construct(Request $request)    {        $this->middleware(['logonRedirect'])->only('logon', 'login');        $this->request = $request;    }    //登录入口1    public function logon(Request $request)    {        $requestUrl = $request->getRequestUri();        if (!$request->ajax()) {            return view('admin/auth/logon');        }        $backUser = User::query()->where(['username' => $this->request->input('username')])->first();        if (!$backUser || !Hash::check($this->request->input('password'), $backUser->password)) {            return response()->json(['status' => 400, 'message' => '用户名或密码错误']);        }        if (!$backUser->status) {            return response()->json(['status' => 400, 'message' => '用户已禁用']);        }        Auth::loginUsingId($backUser->id);//        session()->put('entry_page', 'admin/auth/logon');        session()->put('entry_page', $requestUrl);        do_log('logon')->use('system_log')->by(Auth::user())->log('安全登录');        return response()->json(['status' => 200])->withCookie('entry_page', $requestUrl);    }    //登出    public function logoff(Request $request)    {        do_log('logoff')->use('system_log')->by(Auth::user())->log('安全退出');        $entryPage = session('entry_page') ?? $request->input('entry_page') ?? 'admin/auth/logon';        Auth::logout();        Session::flush();        \cookie()->forget('laravel_session');        return redirect($entryPage);    }    //登录入口2    public function login(Request $request)    {        $from = Route::currentRouteName();        if (!$request->ajax()) {            return view('admin/auth/login', [                'from' => $from            ]);        }        $backUser = User::query()->where(['username' => $this->request->input('username')])->first();        if (!$backUser || !Hash::check($this->request->input('password'), $backUser->password)) {            return response()->json(['status' => 400, 'message' => '用户名或密码错误']);        }        if (!$backUser->status) {            return response()->json(['status' => 400, 'message' => '用户已禁用']);        }        Auth::loginUsingId($backUser->id);        $requestUrl = sprintf('/%s', $from);        session()->put('entry_page', $requestUrl);        do_log('logon')->use('system_log')->by(Auth::user())->log('安全登录');        return response()->json(['status' => 200])->withCookie('entry_page', $requestUrl);    }}
 |