![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shiro
仰望星空的快乐
加油加油加油加油
展开
-
session管理(15毫秒没有操作就退出)
可以粗略的理解为认证信息,是放在session中的,可以手动新建session,设置session的过期时间,这样就实现了用户登录后,多长没有进行操作,就自动退出登录。1.需要自定义session管理器(15毫秒没有操作就退出)2.在securitymanger中绑定这个session。原创 2022-09-26 13:59:43 · 529 阅读 · 0 评论 -
Shiro的缓存
原因是每一个shiro标签都会执行一次权限查询,这对数据库的压力太大了,可以设置一个缓存,在用户登录之后,第一次查询出权限和 角色后,放入到缓存中,后面再需要,就从缓存中获取,不读取数据库。1.在自定义realm的doGetAuthorizationInfo方法,添加一个输出语句。在resouce目录下,创建一个xml文件,名字随便起,一般叫ehcache.xml。3.在securityManager添加自定义的缓存。发现 查询角色和权限信息执行了多次。原创 2022-09-26 13:56:16 · 1075 阅读 · 0 评论 -
shiro原理/流程(前后端不分离)
3》realm,相当于securitymanager的数据源,去数据库查询,将权限,是否登录成功等信息提供给secutirymanager。2》securitymanager负责进行校验用户名密码,权限等操作。1》subject 封装了用户名密码,用户权限,用户角色等信息。原创 2022-09-24 19:36:08 · 645 阅读 · 0 评论 -
JdbcRealm
2.在shiroconfig中配置 jdbcrealm,并将其作为realm绑定到SecurityManager,在查询时,shiro会自己链接数据源,查询登录和角色信息(前提是数据库的字段 表名要和规定的一致,看上面)1.在数据库中创建表,表名必须是users user_roles roles_permissions。调用不变,更换realm只是后面数据的来源变了,前面验证该怎么用还是怎么用。1.在application.yaml中配置数据库的数据源信息。同样的,登录成功不报错,不成功报错。原创 2022-09-24 16:57:47 · 696 阅读 · 0 评论 -
thymeleaf使用shiro标签
2 在shiroconfig.java文件中配置方言支持(就是将shrio的语法转为tymeleaf的语法)需要shiro的拦截器将该页面设置为未登录也可以访问,或者默认就是未登录可访问。4/用户的角色有某个权限就显示对应的字。thymeleaf使用shiro标签。1 设置不同的登录状态显示不同的标签。3/如果用户有某个角色就显示对应的字。3 在html中添加依赖。2.获取当前登录的用户名。原创 2022-09-24 16:54:27 · 835 阅读 · 0 评论 -
Shiro
1 必须导入依赖2 在shiroconfig.java文件中配置方言支持(就是将shrio的语法转为tymeleaf的语法)3 在html中添加依赖1 设置不同的登录状态显示不同的标签需要shiro的拦截器将该页面设置为未登录也可以访问,或者默认就是未登录可访问2.获取当前登录的用户名<shiro:principal/>3/如果用户有某个角色就显示对应的字<shiro:hasRole name="admin">超级管理员</原创 2022-07-10 21:18:14 · 718 阅读 · 1 评论