Apache shiro 笔记整理之web整合二
来源:互联网 发布:写c语言是用记事本么 编辑:程序博客网 时间:2024/06/06 14:06
以下内容是在看了涛哥的《跟我一起学shiro》 和 视频《一头扎入进shiro》 后整理出来备忘和方便自己和其他人学习。
个人主页:http://www.itit123.cn/ 更多干货等你来拿
接上一章内容:http://blog.csdn.net/qq_19558705/article/details/50725689
第一点: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 shiro 笔记整理之web整合二
- Apache shiro 笔记整理之web整合一
- Apache shiro 笔记整理之整合spring
- Apache shiro 笔记整理之HelloWorld
- Apache shiro 笔记整理之身份认证
- Apache shiro 笔记整理之自定义Realm
- Apache shiro 笔记整理之加密
- Shiro整合Web笔记
- Apache Shiro与web整合
- Apache shiro 笔记整理之编程式授权
- Apache Shiro Web应用整合-配置
- Apache Shiro Web应用整合-标签库
- Apache Shiro Web应用整合-标签库
- 【Shiro】Apache Shiro架构之集成web
- 【Shiro】Apache Shiro架构之集成web
- 【Shiro】Apache Shiro架构之集成web
- Apache shiro学习笔记+ spring整合shiro (一)
- Apache Shiro Web Support学习笔记
- C语言实现单链表的逆序打印(带头结点)
- Spring Autowired
- makefile中的为目标如何理解
- 欢迎使用CSDN-markdown编辑器
- Swift的闭包
- Apache shiro 笔记整理之web整合二
- bzoj3907: 网格
- 用户管理系统——查询所有用户
- SSLVPN实现研究之1
- CF630K:Indivisibility(容斥)
- Java实现几种常见排序算法代码
- java获取泛型参数的类型的方法 - 实例讲解
- FMDB
- Hdu 2896 病毒侵袭