spring shiro 自定义标签库

1. 核心依赖

<!--jstl shiro标签库-->
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

2. 引入标签

<%@ taglib prefix="shiro" uri="[http://shiro.apache.org/tags](http://shiro.apache.org/tags)" %>

3. 标签

  • guest 用户没有身份验证时显示相应信息,即游客访问信息

  • user 用户已经身份验证/记住我登录后显示相应的信息

  • authenticated 用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的。

  • notAuthenticated 用户已经身份验证通过,即没有调用Subject.login进行登录,包括记住我,自动登录的也属于未进行身份验证。

  • principal 相当于((User)Subject.getPrincipals()).getUsername()。

  • hasRole标签 如果当前Subject有角色将显示body体内容。

  • lacksRole 如果当前Subject没有角色将显示body体内容。

  • hasAnyRoles 如果当前Subject有任意一个角色(或的关系)将显示body体内容。

  • hasPermission 如果当前Subject有权限将显示body体内容

  • lacksPermission 如果当前Subject没有权限将显示body体内容。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
登录成功页面
<%--只有未登录的用户(游客)能看到--%>
<shiro:guest>你还未登陆</shiro:guest>

<%----%>
<shiro:authenticated>authenticated 看到的内容</shiro:authenticated>
<shiro:notAuthenticated>notAuthenticated 看到的内容</shiro:notAuthenticated>

<%--显示登陆人的用户名--%>
<shiro:principal></shiro:principal>

<shiro:hasRole name="vip">vip 角色看到的内容</shiro:hasRole>
<shiro:hasRole name="admin">admin 角色看到的内容</shiro:hasRole>
<%--lacks Role 只能写一个--%>
<shiro:lacksRole name="vip">没有admin 角色看到的内容</shiro:lacksRole>
<shiro:hasAnyRoles name="user,vip,admin">有user,vip,admin中任一角色可以看到的内容</shiro:hasAnyRoles>

<shiro:hasPermission name="add">有add权限看到的内容</shiro:hasPermission>

</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • • Shiro 提供了 JSTL 标签用于在 JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。• gu...
    21号新秀_邓肯阅读 3,408评论 0 0
  • guest标签 用户没有身份验证时显示相应信息,即游客访问信息。 user标签 用户已经身份验证/记住我登录后...
    InitialX阅读 3,262评论 0 1
  • 在网络项目开发过程中经常要用到用户登录,还有权限管理,Shiro可以说是Spring的一把利器。 看懂这一篇博客需...
    饥渴计科极客杰铿阅读 2,635评论 0 2
  • Apache Shiro Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权...
    罗志贇阅读 8,471评论 1 49
  • width: 65%;border: 1px solid #ddd;outline: 1300px solid #...
    邵胜奥阅读 10,384评论 0 1

友情链接更多精彩内容