Shiro
文章平均质量分 51
写写代码AAA
java,golang
展开
-
Shiro入门-hello world和用户认证
Shiro 入门与身份认证本节介绍了 Shiro 的入门示例程序。"身份认证"是 Shiro 里很重要的概念。"认证"就是通过输入用户名和密码,到内存中或者到数据库中去查询是否有这个用户名的信息(且密码也匹配)。用户信息存放在“内存”中用户信息存放在"内存"中,意即将用户的用户名和密码信息存放在一个名为 shiro.ini 的文件中。更多的情况是,我们把用户的用户名和密码信息存放在数据库中,这也原创 2017-04-04 12:56:42 · 407 阅读 · 0 评论 -
优化Shiro多次访问Redis的问题
在项目中我们可以使用redis进行shiro session的持久化和集群共享 但在实际项目中,用户进行一次登录操作,日志如下:2018-04-25 14:30:20.075 ahut [http-nio-8080-exec-1] INFO com.ahut.shiro.RedisShiroSessionDao - 创建session:b0029f80-dbc5-40e6-8cbe-0...原创 2018-04-25 15:30:27 · 3031 阅读 · 1 评论 -
Shiro的会话管理SessionDao
SessionDaoShiro提供SessionDAO用于会话的CRUD,源码如下:package org.apache.shiro.session.mgt.eis;import org.apache.shiro.session.Session;import org.apache.shiro.session.UnknownSessionException;import jav...原创 2018-04-25 14:09:12 · 1367 阅读 · 0 评论 -
SpringBoot学习-(十七)SpringBoot整合Shiro
基本步骤:添加pom文件依赖书写自定义的realm配置shiro控制层使用项目目录结构:1.添加pom文件依赖<!-- spring整合shiro --><!-- maven会自动添加shiro-core,shiro-web依赖 --><dependency> <groupId>org.apach...原创 2017-10-10 11:34:09 · 3626 阅读 · 1 评论 -
SpringBoot学习-(二十五)SpringBoot整合Shiro(详细版本)
整合内容包括自定义realm,实现认证和授权自定义加密,实现密码加密验证自定义Cachemanager、Cache,实现Shiro的cache管理,存储在redis中自定义SessionManager、SessionDao、SessionIdCookie,实现Shiro的session管理,存储在redsi中自定义RememberMeManager、RemeberMeCookie,实...原创 2018-04-25 11:21:05 · 3379 阅读 · 1 评论 -
Shiro自定义标签
书写java类继承org.apache.shiro.web.tags.PermissionTag类重写showTagBody方法代码package com.dilinbao.core.shiro.tag;import org.apache.shiro.subject.Subject;import org.apache.shiro.web.tags.PermissionTag;/**原创 2018-01-23 17:27:54 · 1669 阅读 · 0 评论 -
Shiro入门-rememberMe
记住我 用户登陆选择“自动登陆”本次登陆成功会向cookie写身份信息,下次登陆从cookie中取出身份信息实现自动登陆。用户身份实现java.io.Serializable接口 向cookie记录身份信息需要用户身份信息对象实现序列化接口配置rememeberMeManager spring-shiro.xml<!-- securityManager安全管理器 --><bean id="se原创 2017-04-06 12:58:36 · 1578 阅读 · 0 评论 -
Shiro入门-整合验证码
思路 shiro使用FormAuthenticationFilter进行表单认证,验证校验的功能应该加在FormAuthenticationFilter中,在认证之前进行验证码校验。需要写FormAuthenticationFilter的子类,继承FormAuthenticationFilter,改写它的认证方法,在认证之前进行验证码校验。自定义FormAuthenticationFilterpu原创 2017-04-06 12:41:10 · 3272 阅读 · 2 评论 -
Shiro入门-session管理
和shiro整合后,使用shiro的session管理,shiro提供sessionDao操作会话数据。 配置spring-shiro.xml<!-- securityManager安全管理器 --><bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <propert原创 2017-04-06 12:33:49 · 1228 阅读 · 0 评论 -
Shiro入门-缓存
shiro缓存针对上边授权频繁查询数据库,需要使用shiro缓存。缓存流程shiro中提供了对认证信息和授权信息的缓存。 shiro默认是关闭认证信息缓存的,对于授权信息的缓存shiro默认开启的。 主要研究授权信息缓存,因为授权的数据量大。用户认证通过。 该用户第一次授权:调用realm查询数据库 该用户第二次授权:不调用realm查询数据库,直接从缓存中取出授权信息(权限标识符)。使用e原创 2017-04-06 09:29:46 · 1468 阅读 · 1 评论 -
Shiro入门-授权初步
这一节是属于授权的内容,我们的例子是要说明如何判断主体是否有相应的角色和权限。判断主体是否有相应的角色和权限判断主体是否有相应的角色 判断主体是否有相应的权限判断主体是否有相应的角色和权限先把上一节写好的登录逻辑封装成一个工具类:public class ShiroUtil { public static Subject login(String configFile,String us原创 2017-04-04 14:28:45 · 2151 阅读 · 0 评论 -
Shiro入门-shiro与spring整合
配置web.xml<!-- shiro的filter --><!-- shiro过滤器,DelegatingFilterProxy通过代理模式将spring容器中的bean和filter关联起来 --><filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filt原创 2017-04-05 17:00:53 · 3338 阅读 · 0 评论 -
Shiro入门-自定义realm
自定义的 Realm 使得我们使用安全数据源更加灵活,在自定义的 Realm 中,我们就可以自己控制认证和授权的逻辑了。同时我们还简单介绍了一下在多个 Realm 同时存在的情况下,我们可以配置我们的认证策略来满足我们的需求。前面两节我们已经介绍过 IniRealm 和 JdbcRealm,这一节我们介绍自定义的 Realm 实现我们自己的安全数据源。方式一:implements Realm (这种原创 2017-04-05 11:45:06 · 1012 阅读 · 0 评论 -
Shiro入门-加密
通常需要对密码 进行散列,常用的有md5、sha, 对md5密码,如果知道散列后的值可以通过穷举算法,得到md5密码对应的明文。 建议对md5进行散列时加salt(盐),进行加密相当 于对原始密码+盐进行散列。 正常使用时散列方法: 在程序中对原始密码+盐进行散列,将散列值存储到数据库中,并且还要将盐也要存储在数据库中。如果进行密码对比时,使用相同 方法,将原始密码+盐进行散列,进行比对。md原创 2017-04-05 13:12:21 · 917 阅读 · 0 评论 -
RBAC简介
目录RBAC简介RBAC0RBAC1RBAC2RBAC3RBAC简介RBAC是Role Based Access Control的英文缩写,意思是基于角色访问控制。RBAC实际上就是针对产品去发掘需求时所用到的Who(角色)、What(拥有什么资源)、How(有哪些操作)的方式。在RBAC模型中,who、what、how构成了访问权限三元组,也就是“Who对What进行How的操作。RB...原创 2019-09-18 19:52:22 · 20932 阅读 · 0 评论