Apache shiro 笔记整理之web整合二
2016-03-01 20:46
633 查看
以下内容是在看了涛哥的《跟我一起学shiro》 和 视频《一头扎入进shiro》 后整理出来备忘和方便自己和其他人学习。
接上一章内容:/article/3700348.html
第一点:Url通配符
?:指代单个字符,/admin? 可以指 :/admin + 任意一个字母 。但是不能是admin。
*:指代单个或零个字符,/admin* 可以指: /admin + 任意一个字母或不带字母。但是不能接两层路径
**:指代多层或零层路径,/admin** 可以指:/admin/任意多个内容。但是不能是admin*/多个内容(用的比较多)
第二点:jsp授权标签
Guest 标签:用户没有身份验证时显示相应信息,即游客访问信息;
User 标签:用户已经身份验证/记住我登录后显示相应的信息;
Authenticated 标签:用户已经身份验证通过,即 Subject.login 登录成功,不是记住我登录的。
notAuthenticated 标签:用户没有身份验证通过,即没有调用 Subject.login 进行登录,包括记住我自动登录
的也属于未进行身份验证。
principal 标签:显示用户身份信息,默认调用 Subject.getPrincipal()获取,即 Primary Principal。
hasRole 标签: 如果当前 Subject 有角色将显示 body 体内容。
lacksRole 标签: 如果当前 Subject 没有角色将显示 body 体内容。
hasAnyRoles 标签: 如果当前 Subject 有任意一个角色(或的关系)将显示 body 体内容。
hasPermission 标签: 如果当前 Subject 有权限将显示 body 体内容。
lacksPermission 标签: 如果当前 Subject 没有权限将显示 body 体内容。
修改success.jsp页面:
通过不同用户登入,显示对应内容。因为笔者的疏忽,需要将shiro.ini中的
/teacher=perms["admin:delete"]
修改为:
/teacher=perms["student:delete"]
第三点:会话机制
和servlet用法相似
修改LoginServlet:
在success.jsp页面添加:
源码下载链接:http://download.csdn.net/detail/qq_19558705/9449956
接上一章内容:/article/3700348.html
第一点:Url通配符
?:指代单个字符,/admin? 可以指 :/admin + 任意一个字母 。但是不能是admin。
*:指代单个或零个字符,/admin* 可以指: /admin + 任意一个字母或不带字母。但是不能接两层路径
**:指代多层或零层路径,/admin** 可以指:/admin/任意多个内容。但是不能是admin*/多个内容(用的比较多)
/admin?=authc /admin*=authc /admin/**=authc
第二点:jsp授权标签
Guest 标签:用户没有身份验证时显示相应信息,即游客访问信息;
User 标签:用户已经身份验证/记住我登录后显示相应的信息;
Authenticated 标签:用户已经身份验证通过,即 Subject.login 登录成功,不是记住我登录的。
notAuthenticated 标签:用户没有身份验证通过,即没有调用 Subject.login 进行登录,包括记住我自动登录
的也属于未进行身份验证。
principal 标签:显示用户身份信息,默认调用 Subject.getPrincipal()获取,即 Primary Principal。
hasRole 标签: 如果当前 Subject 有角色将显示 body 体内容。
lacksRole 标签: 如果当前 Subject 没有角色将显示 body 体内容。
hasAnyRoles 标签: 如果当前 Subject 有任意一个角色(或的关系)将显示 body 体内容。
hasPermission 标签: 如果当前 Subject 有权限将显示 body 体内容。
lacksPermission 标签: 如果当前 Subject 没有权限将显示 body 体内容。
修改success.jsp页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <shiro:hasRole name="admin"> 欢迎admin用户 -- <shiro:principal /> 登录! </shiro:hasRole> <shiro:lacksRole name="admin"> 欢迎<shiro:principal /> 登录! </shiro:lacksRole> <shiro:hasPermission name="student:delete"> 您拥有:delete 权限 </shiro:hasPermission> </body> </html>
通过不同用户登入,显示对应内容。因为笔者的疏忽,需要将shiro.ini中的
/teacher=perms["admin:delete"]
修改为:
/teacher=perms["student:delete"]
第三点:会话机制
和servlet用法相似
修改LoginServlet:
try { subject.login(token); Session session = subject.getSession(); System.out.println("sessionId : " + session.getId()); System.out.println("sessionHost : " + session.getHost()); session.setAttribute("sessionKey","sessionValue"); response.sendRedirect("success.jsp"); }
在success.jsp页面添加:
<span style="white-space:pre"> </span><p> 获取session 的值 : ${sessionKey} </p>
源码下载链接:http://download.csdn.net/detail/qq_19558705/9449956
相关文章推荐
- 了解apache Hadoop--Hadoop最全生态系统介绍
- Apache shiro 笔记整理之web整合一
- Apache 配置 WebSocket 协议
- PhpStorm10和Apache24配置多项目开发环境
- 配置Apache使局域网内的设备都可以访问
- 关于问题的查找 java.lang.NoClassDefFoundError: org/apache/log4j/Category
- win10 64 php5.6 apache24 php_curl 提示不支持
- mac 下利用apache服务器配置项目站点
- 在Windows平台上搭建Apache Storm环境
- Apache2 Axis2/C 开发环境搭建(Linux 环境)
- mac下安装 xampp 无法启动apache (转,留用)
- 生产环境!实战!电信支付系统使用Hadoop分析Apache日志!
- kafka原理解析-《Learning Apache Kafka, 2nd Edition.pdf》
- Apache中的poi包中的XSSFWorkbook与HSSFWorkbook的区别
- 【转】Ubuntu下搭建SVN环境-Apache
- iOS开发--在Mac上搭建本地Apache服务器
- Delphi创建WebService部署到Apache
- 通过Apache CXF采集数据时单次请求的性能总结
- 打开Apache自带的Web监视器
- 查看CentOS上Apache位置,版本,停止,启动