Shiro身份验证
身份验证 :一般需要提供如身份ID 等一些标识信息来表明登录者的身份,如提供email, 用户名/密码 来证明。 在shiro中,用户需要提供 principals (身份)和credentials(证明) 给shiro,从而应用能验证用户身份: principals :身份,即 主体的标识属性 ,可以是任何属性,如 用户名、邮箱等,唯一 即可。一个主体可以有多个principals, 但只有一个Primary principals ,一般是用户名/邮箱/手机号。 credentials : 证明/凭证 ,即只有主体知道的安全值,如密码/数字证书等。 最常见的principals 和credentials 组合就是 用户名/密码 了 身份验证基本流程 1、 收集 用户身份/凭证,即如 用户名/密码 2、 调用Subject.login进行登录 ,如果失败将得到相应的AuthenticationException异常,根据异常提示用户错误信息;否则登录成功 3、 创建自定义的Realm 类,继承org.apache.shiro.realm.AuthorizingRealm类,实现doGetAuthenticationInfo() 方法 身份验证示例 AuthenticationException 如果身份验证失败请捕获AuthenticationException或其子类 最好使用如