laravel一步步实现权限控制(2) 登录重写

本文详细介绍了如何在laravel中重写登录功能,包括未登录用户跳转、创建登录视图、表单数据验证、登录处理方法及已登录用户的自动跳转。通过使用laravel内置的中间件和授权机制,实现了一套简单的RBAC权限控制系统,为后续的复杂权限控制打下基础。
摘要由CSDN通过智能技术生成

laravel 登录重写

权限控制是几乎每套成熟系统不可缺少的一部分,我们使用的权限控制方法是rbac,我将在这个系列的文章一步步完成一个比较复杂的rbac权限控制。

rbac权限控制是一个非常成熟的权限控制系统,其原理是给每个用户一个或多个角色 而每个角色对系统相应模块有访问权限,具体理论知识不多介绍。在我完成这个权限控制系统中,我将普通用户和管理员用户分开在数据库中存储,我们先完成普通用户的登录,这一部分相对于管理员用户会比较简单,同时也让大家理解下登录的流程。

未登录用户跳转到登录页面

当我们访问某些一定要登录后才能使用的功能时 我们往往会有一个功能就是 如果没有登录的用户,就会直接跳转到登录功能 在laravel已经提供的代码中我们可以非常轻松完成这个功能


class HomeController extends Controller {
    
    public function __construct()
    {
    
        $this->middleware('auth');
    }

    public function index()
    {
    
        echo url('/home');
        echo '这是首页';

    }

}

我们在随便一个需要进行登录才能使用的控制器中使调用auth这个控制器就可以了,这个控制器会去检查session中是否有登录信息来进行判断是否有没有登录 那么这个'auth'中间件在哪呢?

laravel中所有中间件都在app/Http/Kernel中注册

    protected $routeMiddleware = [
        'auth' => 'App\Http\Middleware\Authenticate',
        'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
        'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
        'admin_auth' => 'App\Http\Middleware\AdminPermissionCheck',
    ];

这个数组中key是中间件的别名 value是中间件的路径 由此我们可以找到别名为auth的中间件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值