Shiro提供了一套JSP标签库来实现页面级的授权控制。
在使用Shiro标签库前,首先需要在JSP引入shiro标签:
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> |
下面一一介绍Shiro的标签:
guest标签
验证当前用户是否为“访客”,即未认证(包含未记住)的用户。
<shiro:guest> Hi there! Please <a href="login.jsp">Login</a> or <a href="signup.jsp">Signup</a> today! </shiro:guest> |
user标签
认证通过或已记住的用户。
<shiro:user> Welcome back John! Not John? Click <a href="login.jsp">here<a> to login. </shiro:user> |
authenticated标签
已认证通过的用户。不包含已记住的用户,这是与user标签的区别所在。
<shiro:authenticated> <a href="updateAccount.jsp">Update your contact information</a>. </shiro:authenticated> |
notAuthenticated标签
未认证通过用户,与authenticated标签相对应。与guest标签的区别是,该标签包含已记住用户。
<shiro:notAuthenticated> Please <a href="login.jsp">login</a> in order to update your credit card information. </shiro:notAuthenticated> |
principal 标签
输出当前用户信息,通常为登录帐号信息。
Hello, <shiro:principal/>, how are you today? |
hasRole标签
验证当前用户是否属于该角色。
<shiro:hasRole name="administrator"> <a href="admin.jsp">Administer the system</a> </shiro:hasRole> |
lacksRole标签
与hasRole标签逻辑相反,当用户不属于该角色时验证通过。
<shiro:lacksRole name="administrator"> Sorry, you are not allowed to administer the system. </shiro:lacksRole> |
hasAnyRole标签
验证当前用户是否属于以下任意一个角色。
<shiro:hasAnyRoles name="developer, project manager, administrator"> You are either a developer, project manager, or administrator. </shiro:lacksRole> |
hasPermission标签
验证当前用户是否拥有指定权限。
<shiro:hasPermission name="user:create"> <a href="createUser.jsp">Create a new User</a> </shiro:hasPermission> |
lacksPermission标签
与hasPermission标签逻辑相反,当前用户没有制定权限时,验证通过。
<shiro:hasPermission name="user:create"> <a href="createUser.jsp">Create a new User</a> </shiro:hasPermission> |
摘自:http://blog.csdn.net/peterwanghao/article/details/8165028
相关推荐
### Apache Shiro 标签授权详解 #### 一、引言 Apache Shiro 是一款功能强大的 Java 安全框架,提供了认证、授权、加密及会话管理等功能,可以帮助开发者非常容易地开发出足够安全的应用。其中,Shiro 提供了一系列...
4. **强大的Web支持**:Shiro提供了丰富的Web安全特性,支持基于URL和Web协议的安全策略制定,以及用于页面输出控制的JSP标签库。 5. **良好的集成性**:Shiro的API设计和架构模式使得与其他框架和应用的集成变得...
Apache Shiro是一个开源的安全框架,它提供了一套简单的API来处理身份验证、授权、会话管理和加密。Shiro的功能强大且灵活,目标是使安全任务的处理变得简单易行。 首先,Shiro的介绍部分涵盖了基本概念和术语,如...
Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、加密和会话管理功能,为开发人员构建安全的应用程序提供了便利。标题"shiro1.7.1.zip"表明这是Apache Shiro的一个版本更新,从1.3.2升级到1.7.1。...
1. **Shiro标签库**:Shiro提供了与FreeMarker集成的标签库,使得在FreeMarker模板中可以直接使用Shiro的权限控制功能。例如,`<@shiro.hasPermission>`标签可以用来判断当前用户是否有某个操作的权限,如果用户有...
Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了认证、授权、加密和会话管理功能,简化了开发人员处理安全问题的过程。本参考手册主要分为以下几个部分,详细介绍了 Apache Shiro 的各个方面。 1. **...
Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,使得在Java应用中处理安全性变得更加简单。在这个“apache shiro整合struts2+spring+mybatis简单demo”中,我们将探讨如何将...
总的来说,Apache Shiro 的授权机制提供了灵活和强大的访问控制,可以根据实际需求选择合适的角色和权限模式,以及适合的授权实现方式,以确保应用程序的安全性和用户体验。通过理解这些概念和用法,开发者可以构建...
Apache Shiro是一个强大且易用的Java安全框架,负责处理认证(登录)、授权(权限控制)、会话管理和加密等功能。在本项目中,Shiro用于实现用户的身份验证和权限管理,确保只有经过认证的用户才能访问特定的资源。...
Shiro是Apache的一个开源安全框架,它提供了一套完整的安全解决方案,包括认证、授权、加密和会话管理等。Shiro标签库是Shiro提供的一组用于在JSP页面进行权限控制的自定义标签。使用Shiro标签可以很直观地在JSP页面...
Apache Shiro是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,可以非常方便地用于构建和强化应用程序的安全性。Shiro的核心目标是为开发者提供一个简单易用的安全API,使得开发者能够快速...
Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了认证、授权、加密和会话管理功能,简化了开发人员在应用程序中处理安全问题的复杂性。ShiroTags 是 Shiro 提供的一套用于模板引擎的标签库,如 Freemarker ...
内容涵盖 Shiro 认证、加密、授权、安全标签、安全注解、会话管理、缓存、Rememberme 等 JavaEE 企业级开发的核心技术。视频讲授过程中通过分析源代码使学员知其然更知其所以然。 【课程内容】 第一章 问候 Shiro ...
以Spring Framework为核心容器,Spring MVC为模型视图控制器,Mybatis Plus为数据访问层, Apache Shiro为权限授权层, Redis为分布式缓存,Quartz为分布式集群调度,JSP作为前端页面引擎,采用JSTL标签库封装组件的...
- 在Thymeleaf模板中使用Shiro标签进行权限控制。 - 测试认证和授权功能。 通过以上步骤,可以构建一个具备用户登录、权限控制等功能的安全管理系统。Spring Boot的便捷性和Shiro的易用性相结合,使得整个过程更加...
6. **Shiro标签库**:Shiro提供了一组JSP标签,可以在视图层直接进行权限控制,如`<shiro:hasPermission>`标签。 7. **测试与调试**:编写测试用例,确保用户登录、权限控制等功能正常工作。同时,学会使用Shiro的...
Thymeleaf-extras-shiro库则提供了Thymeleaf和Apache Shiro的集成,使得在Thymeleaf模板中可以直接使用Shiro的安全特性,如`sec:authorize`标签进行权限控制。 3. **Apache Shiro**: Apache Shiro是一个强大且...
3. **Freemarker 配置**:在Freemarker配置中,添加Shiro标签库的路径,使得模板引擎能够识别并解析Shiro标签。 4. **使用示例**: ```html <#if shiro.hasPermission('edit:user')}> 编辑用户 ``` **权限...