Apache Shiro 标签模式授权

转载 2016年08月30日 10:07:50
Apache Shiro 标签方式授权

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">

相关文章推荐

spring-boot--使用thymeleaf模板

转:http://jisonami.iteye.com/blog/2301387 本文记录一下几点:  一、资源文件的约定目录结构  二、Maven配置  三、开发时修改thymeleaf模板自动...

Spring Boot Shiro权限管理

转:http://412887952-qq-com.iteye.com/blog/2299777 (1). Shiro简单介绍 Shiro是Apache下的一个开源项目,我们称之为Apache ...

Spring Boot Shiro 权限信息缓存处理,记住我,thymleaf使用shiro标签

转: http://412887952-qq-com.iteye.com/blog/2299784 权限信息缓存处理 实际中我们的权限信息是不怎么会改变的,所以我们希望是第一次访问,然后进行缓存处理,...

Spring Boot Shiro权限管理--自定义 FormAuthenticationFilter验证码整合

验证码 思路 shiro使用FormAuthenticationFilter进行表单认证,验证校验的功能应该加在FormAuthenticationFilter中,在认证之前进行验证码校验。 ...

Spring boot + thymeleaf + Shiro 会话过期返回登录界面片段之解决方案

解决方案的主导思想是:检测当会话过期时,判断是否为ajax请求,若是ajax请求,则将该url请求结果的状态置为401,并且不保存此次访问请求的url,当前端检测到访问结果为401时,跳转至登录界面,...

Spring Boot普通类调用bean

转:http://412887952-qq-com.iteye.com/blog/2292388 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中...

Spring通过构造方法注入的四种方式

通过构造方法注入,就相当于给构造方法的参数传值   set注入的缺点是无法清晰表达哪些属性是必须的,哪些是可选     的,构造注入的优势是通过构造强制依赖关系,不可能实例化不     完全的或...

Android程序员看世界--人工智能AI(1)

AlphaGo的战无不胜和百度机器人小度连续打败最强大脑选手再次引爆了人工智能。 过往提到机器人,可能往往是想到机器人帮我们扫地,削苹果,替代人们做各种各样的体力劳动,但当机器人拥有了人工智...

Spring Boot 集成MyBatis

Spring Boot 集成MyBatis在配置MyBatis前,我们先配置一个druid数据源。Spring Boot 集成druiddruid有很多个配置选项,使用Spring Boot 的Con...

关注微信公众号:AI科技大本营 ,轻松赢取5积分

关注微信公众号: AI科技大本营(rgznai100) 在公众号里回复“AI” 返回 http://task.csdn.net/m/task/home?task_id=398 领取奖励 提...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)