123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace 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);
- }
- }
|