Shiro - JSP页面标签应用

简介: Shiro - JSP页面标签应用

Shiro提供了JSTL 标签用于在JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。

Shiro支持三种方式实现授权过程

  • 编码实现
  • 注解实现
  • JSP Taglig实现

JSP Taglig实现 - Shiro在JSP页面使用标签的形式表现,首先引入shiro标签。**

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

【1】

如果有该角色,则校验通过。name属性值只能为单个。

示例如下:

 <shiro:hasRole name ="admin">
 ...
 <shiro:hasRole/>

【2】

如果是角色中的一个,则校验即可通过。name值可为多个。

示例如下:

<shiro:hasAnyRoles name ="admin,normal">
...
</shiro:hasAnyRoles>

【3】

如果用户没有该角色,则校验通过。name属性值只能有一个。

示例如下:

<shiro:lacksRole name ="admin">
...
</shiro:lacksRole >

【4】

如果用户有某个权限,则校验通过。name属性值只能有一个。

示例如下:

<shiro:hasPermission name = "user:area">
....
</shiro:hasPermission>

【5】

如果用户没有该权限,则校验通过。name属性值只能有一个。

示例如下:

<shiro:lacksPermissionname ="admin">
...
</shiro:lacksPermission>

6】

来宾标签,如果未认证(登录) 或者 系统未记住,则通过校验。

In other words : 验证当前用户是否为“访客”,即未认证(包含未记住)的用户。

范围:未认证已记住+未记住已认证+未认证且未记住。

示例如下:

<shiro:guest>
  Hello,Please login..
</<shiro:guest>

【7】

用户标签,与来宾标签对应,如果已经认证(登录) 或 记住我,则通过校验。

In other words : 认证通过或已记住的用户 。

范围:认证未记住+记住未认证+认证且记住。

<shiro:user>  
    Welcome back John! 
</shiro:user>  

【8】

认证标签比user标签更严格,只有**通过认证(登录)**才可通过校验。

In other words : 只有已认证通过的用户,不包含只有已记住(记住我)的用户,这是与user标签的区别所在

范围:认证且未记住+认证且已记住。

<shiro:authenticated>  
    ....
</shiro:authenticated> 

【9】

未认证通过用户,与authenticated标签相对应。与guest标签的区别是,该标签包含已记住用户。 即,“记住我”进行登录的yeshuyu未进行身份认证。

范围:未认证且未记住+未认证且已记住。

示例如下:

<shiro:notAuthenticated>  
    Please <a href="login.jsp">login</a> 
</shiro:notAuthenticated>  

【10】

显示用户身份信息,默认调用Subject.getPrincipal() 获取,即Primary Principal。

示例如下:

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


目录
相关文章
|
24天前
|
自然语言处理 Java 数据库连接
掌握JSP页面编程:动态生成Web内容
【4月更文挑战第3天】Java Server Pages (JSP) 是一种用于创建动态Web内容的Java技术,它结合HTML并允许在页面中嵌入Java代码。JSP支持代码片段、表达式语言(EL)和JSTL标签库,简化动态内容生成。当服务器接收到请求时,执行JSP中的Java代码并将结果嵌入HTML返回给客户端。示例展示了如何显示当前日期和时间。JSP可与Servlet、JavaBeans、数据库等结合,用于构建功能丰富的交互式Web应用。
掌握JSP页面编程:动态生成Web内容
|
1月前
银行营业网点管理系统——修改的页面(updateBreaches.jsp)
银行营业网点管理系统——修改的页面(updateBreaches.jsp)
15 2
|
1月前
新闻发布项目——注册页面(reg.jsp)
新闻发布项目——注册页面(reg.jsp)
13 1
|
1月前
|
Java 数据库连接 mybatis
springboot访问jsp页面变成直接下载?
springboot访问jsp页面变成直接下载?
39 0
|
1月前
|
前端开发 Java
java实现动态验证码源代码——jsp页面
java实现动态验证码源代码——jsp页面
13 0
|
1月前
|
JavaScript 前端开发 Java
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
9 0
|
1月前
|
前端开发 Java
java通过commons-fileupload实现多张图片的上传(jsp页面)
java通过commons-fileupload实现多张图片的上传(jsp页面)
16 2
|
26天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
20 1
|
26天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
19 0
|
3天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式

相关课程

更多