用户认证
其实大多数系统都会有用户认证,因为大多数系统都有用户的存在,有用户使用系统就要登录。通常我们使用的用户认证也就是通过验证用户名和密码是否正确。或者再常用的是使用指纹打卡机。系统验证了用户身份的合法性,用户就可访问系统的资源。但是想要不同用户有资源,就引出了用户授权。
关键对象
Subject:主题,可以使用户,也可能是程序,都要去访问系统的资源,系统需要对subject进行身份认证。
principal:身份信息,通常是唯一的,一个主题还有多个身份信息,单都有一个主身份信息(Primary Principal)。
Credential:凭证信息,可以是密码、证书、指纹。
用户认证流程
其实用户认证,就是主体在进行身份认证时需要提供身份信息和凭证信息。
用户授权
用户授权就是对用户所能访问的资源进程控制。授权过程可以理解为:who对what进行how操作。
关键对象
who:主题,即上文的subject
what:资源,resource,subject必须具备资源的访问权限才可访问资源。
how:权限/许可permission,针对资源的权限或许可,subject具有permission访问资源,如何访问需要定义permission。
用户授权流程
其实,用户认证就是在用户登录的时候认证用户是否存在,密码是否正确。在用户登录之后是什么样子,就要靠授权了,首先给不同的用户分配不同的角色,然后给不同的角色授权不同的资源,不同的用户也就有了不同的权限,即可使用或者可看到的资源就会因人因角色而异了。