| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace App\Http\Middleware;
- use Closure;
- class AuthAdmin
- {
- /**
- * Handle an incoming request.
- *
- * @param \Illuminate\Http\Request $request
- * @param \Closure $next
- * @return mixed
- */
- public function handle($request, Closure $next)
- {
- if (\App\Models\Allowip::checkIp() < 0) {
- return abort(404);
- }
- if(!defined('REMOTE_KEY')){
- $token= \App\Models\Setinfo::getsInfo(1000);
- define('REMOTE_KEY',$token);
- }
- S("ENABLED_PRIVCHECK", 1);
- if ($request->session()->has('adminInfo') && !empty($request->session()->get('adminInfo'))) {
- /**
- * 检测用户是否被删除,或改了密码
- */
- if (\App\Models\System_user::checkAdmin($request->session()->get('adminInfo')) < 1) {
- $request->session()->flush();
- $request->session()->regenerate();
- return redirect('/admin/login/index');
- }
- if(checkToken(session('adminInfo.admin_id'),session('adminInfo.token'))<0){
- $code_array=\App\Models\Priv_codeModel::getUserCode(session('adminInfo.admin_id'));
- if(!in_array('passToken',$code_array)){
- $request->session()->flush();
- $request->session()->regenerate();
- return redirect('/admin/login/index?login=1');
- }
- }
- if ($this->checkRole($request) < 0) {
- return redirect('admin/login/errors');
- }
- if ('admin/login/index' == $request->path()) {
- return redirect('/');
- }
- return $next($request);
- }
- if ('admin/login/index' == $request->path()) {
- return $next($request);
- }
- return redirect('/admin/login/index');
- }
- private function checkRole($request)
- {
- if ('admin/login/errors' == $request->path()) {
- return 1;
- }
- if (\App\Models\Role::hasRoot('/' . $request->path()) != '1') {
- return -1001;
- }
- return 1;
- }
- }
|