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

      

     

  • 相关阅读:
    java properties
    js resource
    script Ruby / Rails / Arachni
    webServer / Apache / apache / apache http server / mod_cluster
    JAVA XML open protocol
    二维数组举例
    二维数组
    二维数组
    二维数组
    二维数组
  • 原文地址:https://www.cnblogs.com/116970u/p/11175895.html
Copyright © 2011-2022 走看看