Shiro
从程序猿到程序员
努力吧骚年
展开
-
Shiro学习笔记——HelloWorld
配置Maven管理依赖,pom.xml中添加如下:<!-- Shiro模块 --> <dependency> <groupId>org.apache.shiro</groupId> &am原创 2018-09-09 17:59:31 · 242 阅读 · 2 评论 -
Shiro学习笔记——数据库读取权限信息(不使用硬编码的方式)
在ShiroFilterFactoryBean初始化的过程中,会执行一个setFilterChainDefinitionMap方法,传入了一个Map,该Map就是URL与权限的对应关系。编写一个实例工厂方法FilterChainDefinitionMapBuilder.java:public class FilterChainDefinitionMapBuilder { pub...原创 2018-09-13 20:10:52 · 1079 阅读 · 0 评论 -
Shiro学习笔记——权限注解
使用位置可以放在Controller层的方法上,也可以放在Service层的方法上。注解概述@RequiresAuthenication:表示当前Subject已经通过login进行了身份验证,即Subject.isAuthenticated()返回true。@RequiresUser:表示当前Subject已经身份验证或者通过记住我登录的。@RequiresGuest:表示当前...原创 2018-09-13 19:17:15 · 265 阅读 · 0 评论 -
Shiro学习笔记——Shiro的标签
标签guest标签用户没有身份验证时显示相应信息,即游客访问信息。user标签用户已经经过认证/记住我登录后显示相应的信息。authenticated标签用户已经身份验证通过,即Subject.login(token)登录成功,不是记住我登录的。notAuthenticated标签用户未进行身份验证,即没有调用Subject.login(token)进行登录,包...原创 2018-09-13 18:43:45 · 322 阅读 · 0 评论 -
Shiro学习笔记——权限与授权
概念授权:访问控制,即在应用中控制谁访问哪些资源。主体: 访问应用的用户,Shiro里面的Subject代表该用户。资源:Web应用里面体现为用户可以访问的URL。权限:应用中,用户能不能访问某个资源。角色:权限的集合。授权方式编程式:通常写if/else授权代码块完成。if(subject.hasRole("admin")){ //有权限}els...原创 2018-09-13 17:35:16 · 172 阅读 · 0 评论 -
Shiro学习笔记——remember me
认证和记住我的区别subject.isAuthenticated(),表示用户进行了身份验证登录的,即使用subject.login进行了登录。subject.isRemebered(),表示用户是通过记住我登录的,此时可能并不是真正的你(如你的朋友使用你的电脑,或者你的cookie被窃取)在访问的。两者二选一,即subject.isAuthenticated()==true,则subje...原创 2018-09-18 18:08:59 · 224 阅读 · 0 评论 -
Shiro学习笔记——缓存
缓存CacheManagerAware接口Shiro内部响应的组件(DefaultSecurityManager)会自动检测响应的对象(如Realm)是否实现了CacheManagerAware并自动注入响应的CacheManager。Realm(举例)我们写的Realm是继承自AuthorizingRealm的,它的父类CachingRealm是实现了CacheManagerAware接...原创 2018-09-18 16:45:07 · 144 阅读 · 0 评论 -
Shiro学习笔记——工作流程与过滤器的配置
工作流程web.xml中配置了过滤器,整个访问请求都会被filter过滤 <filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilte原创 2018-09-10 13:03:51 · 1480 阅读 · 0 评论 -
Shiro学习笔记——Spring集成
新建Maven Web工程Maven默认Web版本为2.3,更改Web版本为2.5,打开shiro-2\.settings\org.eclipse.wst.common.project.facet.core.xml,更改为<installed facet="jst.web" version="2.5"/>,重启工程。添加依赖打开pom.xml,添加如下依赖:&原创 2018-09-10 11:29:35 · 157 阅读 · 0 评论 -
Shiro学习笔记——认证与加密
流程获取当前的 Subject, 调用 SecurityUtils.getSubject();测试当前的用户是否已经被认证,即是否已经登录。调用 Subject .isAuthenticated()若没有被认证,则把用户名和密码封装为UsernamePasswordToken 对象。 1)创建一个表单 2)把请求提交到SpringMVC的Handler 3)获取用户名和密码执行登...原创 2018-09-12 15:06:05 · 243 阅读 · 0 评论 -
Shiro学习笔记——会话管理
概述Shiro提供了Session的支持,主要用途是在Service层获取到Handler层的Session的信息。简单用法ShiroHandler.java: @RequestMapping("/testShiroAnnotation") public String testShiroAnnotation(HttpSession session) { ...原创 2018-09-13 20:57:49 · 768 阅读 · 0 评论