Laravel的访问鉴权-最简单的介绍

Laravel框架对于访问鉴权,提供了两套机制,分别是:

1、Authentication:用来对路由进行保护,换句话说,它决定了一个请求是否可以访问某个页面或者某个接口。

2、Authorization:用来对具体的操作进行保护,它决定了一个用户是否有权限对某个具体的资源进行操作,比如读取或者修改。

Authentication

 

质上,Laravel的访问权限控制,是基于其middleware切片机制实现的。其核心是一个特殊的middleware,名字叫做auth。在auth这个middleware里面,通过不同的guard来实现不同方式的访问权限控制。每一个guard又通过自己的provider来获取被存储的用户信息,用来进行权限判定。

所以Laravel框架在web route的权限控制方面,所做的,其实是几件事:

  • 定义了一个middleware,叫做auth
  • 引入了guard这个类,并为其建立了配置文件、生成方式、调用方式等配套机制
  • 为了guard类能够适应不同的用户信息存储方式,又建立了provider类,以及对应的配置文件、生成方式和调用方式。

Authorization

authorization,是基于Laravel框架的ServiceProvider机制实现的,框架内部实现机制,有时间再单独研究。这里面有2个东东,一个叫Gate,另一个叫Policy。

Gate:基于闭包的访问控制,用来管理那些不针对任何资源的操作。

Policy:用来管理针对某个资源的操作。

 

posted @ 2019-08-06 11:29  蒸熊掌  阅读(1575)  评论(0编辑  收藏  举报