说明

  代码及部分相关资料根据慕课网Mark老师的视频进行整理。

  其他资料:

基础概念

Authenticate/Authentication(认证)

  认证是指检查用户身份合法性,通过校验用户输入的密码是否正确,判断用户是否为本人。

  有几个概念需要理解:

  • Principals (主体标识)

    任何可以唯一地确定一个用户的属性都可以充当principal,例如:邮箱、手机号、用户ID等,这些都是与用户一一对应的,可以唯一地确定一个用户。

  • credentials (主体凭证)

    credentials是能确认用户身份的东西,可以是证书(Certificate),也可以是密码(password)。

  • token(令牌)

    这里的token和api里的token有一点儿差别,这里token是principal和credential的结合体或者说容器。这里先讲一部分,剩下的放到"Subject"讲解。

Authorize/Authorization(授权)

  shiro中的“授权”,更贴切说法是“鉴权”,即判定用户是否拥有某些权限,至于拥有该权限在业务上有何意义,则是由业务本身来决定。

  关于“授权”,shiro引入了两种概念: