1.3. 练习中的身份验证和授权
尽管身份验证和授权是不同的概念,但通常将它们链接在一起。许多为处理身份验证而编写的模块也可以处理授权,反之亦然。
示例
应用 MyPersonalSoapbox
提供了发布和查看消息的功能。拥有 Talk 角色的主体
可以发布消息并查看其他已发布的信息。没有登录的用户具有 Listen
角色,并且可以查看已发布的消息。Suzy、Adam 和 Bob 使用 应用程序。Suzy 和 Bob 可以使用其用户名和密码进行身份验证,但 Adam 尚不具有用户名和密码。Suzy 具有 Talk
角色,但 Bob 没有任何角色,包括 Talk 和
Listen
。当 Suzy 验证后,她可以发布并查看消息。当 Adam 使用 MyPersonalSoapbox
时,他无法登录,但可以看到已发布的消息。当 Bob 登录时,他无法发布任何消息,也不能查看任何其他已发布的消息。
Suzy 同时经过身份验证和授权。Adam 尚未通过身份验证,但获得授权,能够使用 Listen
角色查看消息。Bob 经过身份验证,但没有授权,也没有角色。