zoukankan      html  css  js  c++  java
  • 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或其子类
    • 最好使用如“用户名/密码错误”而不是“用户名错误”/“密码错误”,防止一些恶意用户非法扫描帐号库;

      

     

  • 相关阅读:
    401. Binary Watch
    46. Permutations
    61. Rotate List
    142. Linked List Cycle II
    86. Partition List
    234. Palindrome Linked List
    19. Remove Nth Node From End of List
    141. Linked List Cycle
    524. Longest Word in Dictionary through Deleting
    android ListView详解
  • 原文地址:https://www.cnblogs.com/116970u/p/11175895.html
Copyright © 2011-2022 走看看