下面来介绍标签:
1.guest(游客)
- <@shiro.guest>
- 您当前是游客,<a href="javascript:void(0);" class="dropdown-toggle qqlogin" >登录</a>
- </@shiro.guest>
2.user(已经登录,或者记住我登录)
- <@shiro.user>
- 欢迎[<@shiro.principal/>]登录,<a href="/logout.shtml">退出</a>
- </@shiro.user>
3.authenticated(已经认证,排除记住我登录的)
- <@shiro.authenticated>
- 用户[<@shiro.principal/>]已身份验证通过
- </@shiro.authenticated>
4.notAuthenticated(和authenticated相反)
- <@shiro.notAuthenticated>
- 当前身份未认证(包括记住我登录的)
- </@shiro.notAuthenticated>
这个功能主要用途,识别是不是本次操作登录过的,比如支付系统,进入系统可以用记住我的登录信息,但是当要关键操作的时候,需要进行认证识别。
5.principal标签,这个要稍微重点讲讲。好多博客都是一下带过。
principal标签,取值取的是你登录的时候。在Realm实现类中的如下代码:
- ....
- return new SimpleAuthenticationInfo(user,user.getPswd(), getName());
在new SimpleAuthenticationInfo(第一个参数,....)的第一个参数放的如果是一个username,那么就可以直接用。
- <!--取到username-->
- <@shiro. principal/>
如果第一个参数放的是对象,比如我喜欢放User对象。那么如果要取username字段。
- <!--需要指定property-->
- <@shiro.principal property="username"/>
和Java如下Java代码一致
- User user = (User)SecurityUtils.getSubject().getPrincipals();
- String username = user.getUsername();
6.hasRole标签(判断是否拥有这个角色)
- <@shiro.hasRole name="admin">
- 用户[<@shiro.principal/>]拥有角色admin<br/>
- </@shiro.hasRole>
7.hasAnyRoles标签(判断是否拥有这些角色的其中一个)
- <@shiro.hasAnyRoles name="admin,user,member">
- 用户[<@shiro.principal/>]拥有角色admin或user或member<br/>
- </@shiro.hasAnyRoles>
8.lacksRole标签(判断是否不拥有这个角色)
- <@shiro.lacksRole name="admin">
- 用户[<@shiro.principal/>]不拥有admin角色
- </@shiro.lacksRole>
9.hasPermission标签(判断是否有拥有这个权限)
- <@shiro.hasPermission name="user:add">
- 用户[<@shiro.principal/>]拥有user:add权限
- </@shiro.hasPermission>
10.lacksPermission标签(判断是否没有这个权限)
- <@shiro.lacksPermission name="user:add">
- 用户[<@shiro.principal/>]不拥有user:add权限
- </@shiro.lacksPermission>
相关推荐
1. **Shiro标签库**:Shiro提供了与FreeMarker集成的标签库,使得在FreeMarker模板中可以直接使用Shiro的权限控制功能。例如,`<@shiro.hasPermission>`标签可以用来判断当前用户是否有某个操作的权限,如果用户有...
#### 二、Shiro 标签库简介 在使用 Shiro 的标签库之前,需要确保已经在 JSP 页面中引入了 Shiro 的标签库。这可以通过以下方式完成: ```jsp <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> ```...
Shiro标签库是Shiro提供的一组用于在JSP页面进行权限控制的自定义标签。使用Shiro标签可以很直观地在JSP页面上控制显示内容,如根据用户是否登录、是否有特定权限来显示页面上的按钮或链接。 在使用Shiro标签之前,...
用于在页面模板中应用Shiro框架提供的功能,例如权限验证、角色判断、提取用户凭证信息等 开发环境: 运行环境:Jvm 语言支持:Java、Kotlin、Groovy等所有基于Jvm的语言 框架依赖:Spring/Spring Boot、...
SpringBoot 在 FTL 页面上使用 Shiro 标签的实例代码 在本篇文章中,我们将详细介绍如何在 SpringBoot 项目中使用 Shiro 标签在 FTL 页面上实现权限控制。Shiro 是一个功能强大且广泛使用的权限管理框架,能够帮助...
Vue.js作为一个轻量级的前端框架,搭配Apache Shiro这样的安全管理框架,可以有效地实现前端的细粒度权限管理,如按钮级别的权限控制。本文将详细介绍如何在Vue项目中结合Shiro实现这一功能,以及所需的前置技术。 ...
3. **Freemarker 配置**:在Freemarker配置中,添加Shiro标签库的路径,使得模板引擎能够识别并解析Shiro标签。 4. **使用示例**: ```html <#if shiro.hasPermission('edit:user')}> 编辑用户 ``` **权限...
1. 在FreeMarker模板中使用Shiro标签库:在.ftl文件顶部引入Shiro标签库: ```html <#assign shiro = "shiro:${'@org.apache.shiro.web.tags.ShiroTagLibHandler@getTagLibUri()'}"> ${shiro}" as shiro/> ``` 2. ...
ShiroTags 是 Shiro 提供的一套用于模板引擎的标签库,如 Freemarker 和 JSP,它们使得在视图层集成权限控制变得更为便捷。 `com.jagregory.shiro.freemarker.ShiroTags` 是 Jagregory 开发的一个扩展,将 Apache ...
1.Shiro 简介 2.ShiroHelloWorld 实现 第二章 身份认证 1.Subject 认证主体 2.身份认证流程 第三章 权限认证 1.权限认证核心要素 2.授权 3.Permissions 对权限深入理解 4.授权流程 第四章 集成 Web 1.Shiro ...
尚硅谷_Shiro_简介 · 02.尚硅谷_Shiro_HelloWorld · 03.尚硅谷_Shiro_集成 Spring · 04.尚硅谷_Shiro_工作流程(1) · 05.尚硅谷_Shiro_DelegatingFilterProxy · 06. 尚硅谷_Shiro_权限 URL 配置细节 · 07...
**Jetbrick 模板的 Shiro 标签扩展** Jetbrick 模板是 Java 开发中的一款快速、灵活且高效的模板引擎,它提供了一种简洁的方式来动态生成 HTML、XML 或其他文本格式的输出。Shiro 是一个强大且易用的安全管理框架,...
在这个"Shiro学习示例,以及与SpringMVC整合,标签注解等"项目中,我们可以深入理解Shiro的核心功能以及如何在实际开发中与SpringMVC集成。 首先,Shiro 提供了用户认证(Authentication)机制,允许应用验证用户...
标签中的"shiroall"可能是指包含所有模块的Shiro全集JAR,这是一个集成了Shiro所有功能的单一文件,便于那些不想或不能单独管理每个模块的开发者使用。"shiro1.1"和"shiro1.2"代表了Shiro框架的两个具体版本,分别...
Thymeleaf-extras-shiro库则提供了Thymeleaf和Apache Shiro的集成,使得在Thymeleaf模板中可以直接使用Shiro的安全特性,如`sec:authorize`标签进行权限控制。 3. **Apache Shiro**: Apache Shiro是一个强大且...
- 在Thymeleaf模板中使用Shiro标签进行权限控制。 - 测试认证和授权功能。 通过以上步骤,可以构建一个具备用户登录、权限控制等功能的安全管理系统。Spring Boot的便捷性和Shiro的易用性相结合,使得整个过程更加...
在标签中提到了“shiro兼容包”,这通常指的是为了保证与旧版本系统兼容,或者解决特定环境下的问题,Shiro提供的额外支持包。在升级过程中,如果遇到兼容性问题,这些包可能非常有用。同时,提到了“权限绕过漏洞 ...
3. **使用Shiro的`hasPermission`标签**:在JSP页面中,我们可以利用Shiro提供的JSTL标签库来进行权限检查。例如,我们可以使用`<shiro:hasPermission name="editUser">`标签来包裹需要展示的菜单项代码。如果当前...
5. **Shiro标签使用**:在JSP页面中,可以使用Shiro提供的标签库来控制用户的访问权限,如`<shiro:hasRole>`和`<shiro:hasPermission>`。 6. **安全控制器**:在Spring MVC的Controller中,你可以利用Shiro的注解...