认证和授权
【认证】
- 凭据为基础的认证:
当你登录 e-mail 账号时,你可能提供你的用户名和密码。E-mail
的提供商会将你的用户名与数据中的记录进行匹配,并验证你提供的密码与对应的
记录是不是匹配。这些凭证(用户名和密码,译者注)就是 e-mail 系统用来鉴别你
是一个合法用户的。 - 两要素认证:
当你想从自动柜员机取钱的时候,你在被允许取钱和做其他业务前,
你必须先插卡并输入你的密码。这种方式的认证与用户名和密码的认证方式很类似,
与之不同的是用户名信息被编码到卡的磁条上了。联合使用物理磁卡和用户输入密
码能是银行确认你可能有使用这个账号的权限。联合使用密码和物理设备(你的
ATM 卡)是一种普遍存在的两要素认证形式。 - 硬件认证:
早上当你启动汽车时,你插入钥匙并打火。尽管和其他的两个例子很类
似,但是你的钥匙和打火装置的匹配是一种硬件认证的方式。
【授权】
-
第一个是已经认证的安全实体与一个或多个权限(authorities)的匹配关系(通常称为
角色)。例如,一个非正式的用户访问你的网站将被视为只有访问的权限而一个网站的管理
员将会被分配管理的权限。 -
第二个是分配权限检查给系统中要进行安全保护的资源。通常这将会在系统的开发过程
中进行,有可能会通过代码进行明确的声明也可能通过参数进行设置。例如,在我们应用中
管理宠物商店详细目录的界面只能对具有管理权限的用户开放。要进行安全保护的资源可以是系统的任何内容,它们会根据用户的权限进行有选择的
可访问控制。web 应用中的受保护资源可以是单个的页面、网站的一个完整部分或者一部分
界面。相反的,受保护的业务资源可能会是业务对象的一个方法调用或者单个的业务对象。