• Shiro的标签说明


    -----------------标签-------------------------------

    <shiro:guest>
    	游客访问 <a href = "login.jsp"></a>
    </shiro:guest>
    
    user 标签:用户已经通过认证\记住我 登录后显示响应的内容
    <shiro:user>
    	欢迎[<shiro:principal/>]登录 <a href = "logout">退出</a>
    </shiro:user>
    
    authenticated标签:用户身份验证通过,即 Subjec.login 登录成功 不是记住我登录的
    <shiro:authenticted>
    	用户[<shiro:principal/>] 已身份验证通过
    </shiro:authenticted>
    
    notAuthenticated标签:用户未进行身份验证,即没有调用Subject.login进行登录,包括"记住我"也属于未进行身份验证
    <shiro:notAuthenticated>
    	未身份验证(包括"记住我")
    </shiro:notAuthenticated>
    
    
    principal 标签:显示用户身份信息,默认调用
    Subjec.getPrincipal()获取,即Primary Principal
    <shiro:principal property = "username"/>
    
    hasRole标签:如果当前Subject有角色将显示body体内的内容
    <shiro:hashRole name = "admin">
    	用户[<shiro:principal/>]拥有角色admin
    </shiro:hashRole>
    
    hasAnyRoles标签:如果Subject有任意一个角色(或的关系)将显示body体里的内容
    <shiro:hasAnyRoles name = "admin,user">
    	用户[<shiro:pricipal/>]拥有角色admin 或者 user
    </shiro:hasAnyRoles>
    
    lacksRole:如果当前 Subjec没有角色将显示body体内的内容
    <shiro:lacksRole name = "admin">
    	用户[<shiro:pricipal/>]没有角色admin
    </shiro:lacksRole>
    
    hashPermission:如果当前Subject有权限将显示body体内容
    <shiro:hashPermission name = "user:create">
    	用户[<shiro:pricipal/>] 拥有权限user:create
    </shiro:hashPermission>
    
    lacksPermission:如果当前Subject没有权限将显示body体内容
    <shiro:lacksPermission name = "org:create">
    	用户[<shiro:pricipal/>] 没有权限org:create
    </shiro:lacksPermission>
    

      

    ---------------权限注解------------------------

    @RequiresAuthenthentication:表示当前Subject已经通过login进行身份验证;即 Subjec.isAuthenticated()返回 true
    
    @RequiresUser:表示当前Subject已经身份验证或者通过记住我登录的,
    
    @RequiresGuest:表示当前Subject没有身份验证或者通过记住我登录过,即是游客身份
    
    @RequiresRoles(value = {"admin","user"},logical = Logical.AND):表示当前Subject需要角色admin和user
    
    @RequiresPermissions(value = {"user:delete","user:b"},logical = Logical.OR):表示当前Subject需要权限user:delete或者user:b
    

      

  • 相关阅读:
    案例(2)-- 线程不安全对象(SimpleDateFormat)
    案例(1)-- OOM异常
    jvm--工具
    死锁的产生以及定位死锁
    TCP--粘包拆包,netty的解决方式
    netty--处理器
    AtomicIntegerFieldUpdater和AtomicInteger
    NIO--ByteBuf
    Pipeline
    吴恩达机器学习笔记(四) —— BP神经网络
  • 原文地址:https://www.cnblogs.com/fancongcong/p/8093258.html
Copyright © 2020-2023  润新知