authentication与authorization区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了authentication与authorization区别?相关的知识,希望对你有一定的参考价值。
在ASP.NET网站的Web.config配置文件中有这样两个节点:authentication与authorization。这两个节点有什么区别呢?分别有什么作用?
参考技术A authentication:用于指明验证的方式以及验证成功,失败以后的处理请求:<system.web>�0�2 <authentication mode="Forms">
�0�2 <forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH"> �0�2 一般使用Forms验证,如果匿名用户或者未通过验证的人自动转向Logon.aspx页面,Cookie的名称为.ASPXFORMSAUTH
�0�2 </forms>
�0�2 </authentication>
</system.web>
authorization指明哪些客户可以登录哪些页面(分配权限问题):<authorization>
�0�2 <allow users="Kim"/> �0�2Kim可以进入
�0�2 <allow roles="Admins"/>
�0�2 <deny users="John"/>
�0�2 <deny users="?"/> �0�2Admins可以,John以及匿名用户不能进入。
</authorization>
[PHP] 浅谈 Laravel Authentication 的 guards 与 providers
从文档的简单介绍上来讲,有一些抽象。
个人感觉,对于概念上的大多数不理解主要还是来自于 文档不是讲设计思路,而是实际操作。
查看英文文档,通常来说可以给你最准确的直觉,而本地翻译一般比较字面或者带有理解性的。
https://laravel.com/docs/6.x/authentication#introduction
认证(Authentication)组件的配置是 config/auth.php,用于区分不同认证机制的行为,所以都是可以自定义的,
这是设计思路之一。
Laravel 的认证服务由两部分组成,就是 guards 和 providers。
guards 按照文档举例的意思,给你的感觉是用于决定认证数据存储在哪里,session、file、redis ?
如果真是这样的话,就没必要称作 guards,叫 storage 不是更直接 ?
guards 只是一个名词而已,等价于方式方法 way,具体使用的是什么 guards,需要自己起名,都可以是 a、b、c。
和 guards 强挂钩的是 driver,这才是实际内涵,这个 driver 比如 fileGuards,redisGuards,databaseGuards,mixGuards,firstGuards ...
现在可以看看 providers 了,这多数是我们理解的功能性服务提供者的意思了,那么在认证服务这里就是决定 guards 的实现,决定数据如何流转的方法们。
providers 和某个 guards 挂上钩了才有意义,guards 需要 providers,providers 可以属于任何的 guards。
相信到这里,再去看实际 auth.php 的配置,这些就是设计思路下的具体案例了,你同意吗?
相关:[PHP] 浅谈 Laravel Authentication 的 auth:api
Link:https://www.cnblogs.com/farwish/p/11790152.html
以上是关于authentication与authorization区别?的主要内容,如果未能解决你的问题,请参考以下文章
Pulsar学习笔记之 Authentication认证机制与插件开发
[PHP] 浅谈 Laravel Authentication 的 guards 与 providers
自定义authenticate()认证方法 | Django
对passport.use(strategy) done 功能及其与passport.authenticate 的关系感到困惑