1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/buwangyun-bwsaas

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Auth.php 2.2 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
hnlg666 Отправлено 4 лет назад d3e6194
<?php
// +----------------------------------------------------------------------
// | Bwsaas
// +----------------------------------------------------------------------
// | Copyright (c) 2015~2020 http://www.buwangyun.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Gitee ( https://gitee.com/buwangyun/bwsaas )
// +----------------------------------------------------------------------
// | Author: buwangyun <hnlg666@163.com>
// +----------------------------------------------------------------------
// | Date: 2020-9-28 10:55:00
// +----------------------------------------------------------------------
namespace buwang\middleware;
use buwang\interfaces\MiddlewareInterface;
use buwang\traits\JsonTrait;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use buwang\traits\JumpTrait;
use app\Request;
use buwang\service\AuthService;
use buwang\exception\AuthException;
/**
* 系统权限访问管理
* Class Auth
* @package app\admin\middleware
*/
class Auth implements MiddlewareInterface
{
use JsonTrait;
use JumpTrait;
/**
* @param Request $request
* @param \Closure $next
* @return mixed
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function handle(Request $request, \Closure $next)
{
$node_name = '/' . app('http')->getName() . '/' . $request->rule()->getRoute();
//获取管理员信息
$user = $request->userInfo();//解析token,获取用户信息
//获取登录类型
$login_type = $request->scopes();
if ($user) {
try{
AuthService::auth($user,$login_type,$node_name);
}catch (AuthException $e){
if ($request->isAjax()) return $this->code(403)->error($e->getMessage());//ajax请求返回code
else return $this->error_jump($e->getMessage());//模板解析时重定向至登录页面
}
}
return $next($request);
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/buwangyun-bwsaas.git
git@gitlife.ru:oschina-mirror/buwangyun-bwsaas.git
oschina-mirror
buwangyun-bwsaas
buwangyun-bwsaas
v1.3.2