zoukankan      html  css  js  c++  java
  • shiro权限验证标签

    实例:

    spring-shiro.xml

    1
    2
    3
    /admin/repairType/index = roles["ROLE_ADMIN"]
    /admin/user=roles["ROLE_ADMIN"]
    /admin/complaint/list= roles["ROLE_SERVICE,ROLE_ADMIN"]

    jsp页面:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <shiro:hasRole name="ROLE_ADMIN">
        <li class="user"><a href="${ctx}/admin/user">用户</a></li>
    </shiro:hasRole>
    <shiro:hasAnyRoles name="ROLE_ADMIN,ROLE_SERVICE">
        <li class="complaint"><a href="${ctx}/admin/complaint/list">服务</a></li>
    </shiro:hasAnyRoles>
    <shiro:hasRole name="ROLE_ADMIN">
        <li class="system"><a href="${ctx}/admin/repairType/index">系统设置</a></li>
    </shiro:hasRole>

      

    在使用Shiro标签库前,首先需要在JSP引入shiro标签: 

    1
    <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

      

    1、介绍Shiro的标签guest标签 :验证当前用户是否为“访客”,即未认证(包含未记住)的用户。

    1
    2
    3
    4
    5
    <shiro:guest> 
     
    Hi there!  Please <a href="login.jsp">Login</a> or <a href="signup.jsp">Signup</a> today! 
     
    </shiro:guest>

      

    2、user标签 :认证通过或已记住的用户。

    1
    2
    3
    4
    5
    <shiro:user> 
     
        Welcome back John!  Not John? Click <a href="login.jsp">here<a> to login. 
     
    </shiro:user>

      

    3、authenticated标签 :已认证通过的用户。不包含已记住的用户,这是与user标签的区别所在。

    1
    2
    3
    4
    5
    <shiro:authenticated> 
     
        <a href="updateAccount.jsp">Update your contact information</a>. 
     
    </shiro:authenticated>

      

    4、notAuthenticated标签 :未认证通过用户,与authenticated标签相对应。与guest标签的区别是,该标签包含已记住用户。 

    1
    2
    3
    4
    5
    <shiro:notAuthenticated> 
     
        Please <a href="login.jsp">login</a> in order to update your credit card information. 
     
    </shiro:notAuthenticated>

      

    5、principal 标签 :输出当前用户信息,通常为登录帐号信息。

    1
    Hello, <shiro:principal/>, how are you today?

      

    6、hasRole标签 :验证当前用户是否属于该角色。

    1
    2
    3
    4
    5
    <shiro:hasRole name="administrator"
     
        <a href="admin.jsp">Administer the system</a> 
     
    </shiro:hasRole>

      

    7、lacksRole标签 :与hasRole标签逻辑相反,当用户不属于该角色时验证通过。

    1
    2
    3
    4
    5
    <shiro:lacksRole name="administrator"
     
        Sorry, you are not allowed to administer the system. 
     
    </shiro:lacksRole>

      

    8、hasAnyRole标签 :验证当前用户是否属于以下任意一个角色。 

    1
    2
    3
    4
    5
    <shiro:hasAnyRoles name="developer, project manager, administrator"
     
        You are either a developer, project manager, or administrator. 
     
    </shiro:lacksRole>

      

    9、hasPermission标签 :验证当前用户是否拥有指定权限。

    1
    2
    3
    4
    5
    <shiro:hasPermission name="user:create"
     
        <a href="createUser.jsp">Create a new User</a> 
     
    </shiro:hasPermission>

    10、lacksPermission标签 :与hasPermission标签逻辑相反,当前用户没有制定权限时,验证通过。

    1
    2
    3
    4
    5
    <shiro:hasPermission name="user:create"
     
        <a href="createUser.jsp">Create a new User</a> 
     
    </shiro:hasPermission>

      

  • 相关阅读:
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第4章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第3章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第1,2章 读书笔记(待更新)
    Tkinter的Message组件
    Git 实操/配置/实践
    mysq5.7.32-win安装步骤
    行为型模式之模板方法
    结构型模式之组合模式
    结构型模式之享元模式
    结构型模式之外观模式
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317943.html
Copyright © 2011-2022 走看看