我经常看到这两个术语在讨论中被使用(特别是在基于Web的场景中,但我想这不仅限于此),我想知道它们是否有区别。
在我看来,它们都意味着你可以做你正在做的事情。那么这只是一个命名上的问题,还是在意义上有基本的区别?
我看到这两个术语经常使用(特别是在基于Web的情境下,但我认为这不仅限于此),我想知道它们是否有区别。在我看来,它们都表示您被允许执行您正在执行的操作。所以这只是一种命名上的差异,还是在含义上有根本的区别?
我经常看到这两个术语在讨论中被使用(特别是在基于Web的场景中,但我想这不仅限于此),我想知道它们是否有区别。
在我看来,它们都意味着你可以做你正在做的事情。那么这只是一个命名上的问题,还是在意义上有基本的区别?
我看到这两个术语经常使用(特别是在基于Web的情境下,但我认为这不仅限于此),我想知道它们是否有区别。确实存在根本区别。认证是系统可以安全地识别其用户的机制。认证系统寻求为以下问题提供答案:
相比之下,授权是系统确定特定(已认证)用户对系统控制的资源应具有何种访问级别的机制。举个可能与基于Web的场景有关的例子,数据库管理系统可以设计成在提供某些指定人员从数据库中检索信息的能力的同时,不允许他们更改存储在数据库中的数据,而让其他人拥有更改数据的权限。授权系统提供以下问题的答案:
Steve Riley写了一篇相当好的文章,阐述了它们为什么必须保持独立。
认证是指验证实体的身份。授权涉及对经过身份验证的实体允许进行的操作(例如文件权限)。
主要的观点是:
根据我的经验,认证通常指更技术性的过程,即通过检查登录/密码凭据、证书等对用户进行身份验证,而授权则更多地用于应用程序的业务逻辑中。
例如,在应用程序中,用户可能会登录并进行身份验证,但未被授权执行某些功能。
在网站上对用户进行身份验证意味着您验证该用户是有效用户,即使用用户名/密码或证书等验证用户身份。通俗地说,这个人是否被允许进入建筑物?
授权是验证用户是否有权访问某些资源或网站的某些部分的过程,例如,如果是CMS,则用户是否有权更改网站内容。就办公楼场景而言,用户是否被允许进入办公室的网络室。
身份验证验证您是谁,授权验证您被授权执行什么操作。例如,您可以通过ssh客户端登录到Unix服务器,但您无权浏览/data2或任何其他文件系统。成功进行身份验证后才会进行授权。
认证:验证用户身份。
为了进行认证,用户提供凭据信息,例如用户名和密码。如果凭据有效,则用户会收到一个令牌,该令牌可以随后的请求一起发送,以验证其身份。
授权:确定用户被允许做什么。
从用户的角度来看,成功的授权发生在她能够发送请求以访问系统并执行某些操作(例如在系统中上传文件)并且操作成功时。
认证仅验证身份-它确认用户是其所声称的人。授权确定经过验证的用户可以访问哪些资源。
认证
认证验证你的身份。例如,你可以使用ssh客户端登录到你的服务器,或者使用POP3和SMTP客户端访问你的电子邮件服务器。
授权
授权验证你被授权做什么。例如,你被允许通过ssh客户端登录到你的服务器,但你没有权限浏览/data2或任何其他文件系统。授权发生在成功认证之后。