shiro

SpringBoot+redis 实现shiro集群,共享session。亲测可用

依然范特西╮ 提交于 2019-11-29 01:36:43
1.序列化工具类: import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.SerializationException; import org.springframework.core.convert.converter.Converter; import org.springframework.core.serializer.support.DeserializingConverter; import org.springframework.core.serializer.support.SerializingConverter; /** * redis序列化对象 */ public class RedisObjectSerializer implements RedisSerializer<Object> { private Converter<Object, byte[]> serializer = new SerializingConverter(); private Converter<byte[], Object> deserializer = new DeserializingConverter

Unable to @Inject my DAO in a Custom Apache Shiro AuthorizingRealm

两盒软妹~` 提交于 2019-11-29 00:40:56
I'm trying to inject my UserDAO inside my custom AuthorizingRealm that Apache Shiro is using but... I get null. What am I doing wrong? shiro.ini [main] user = demo.shiro.security.FacesAjaxAwareUserFilter realmA = demo.shiro.security.JpaRealm credentialsMatcher = org.apache.shiro.authc.credential.SimpleCredentialsMatcher realmA.credentialsMatcher = $credentialsMatcher securityManager.realms = $realmA user.loginUrl = /pages/public/login.xhtml [users] admin = admin user = user [urls] # public files and folders /index.html = anon /resources/** = anon /pages/public/** = anon # restricted files and

Shiro

笑着哭i 提交于 2019-11-28 21:16:39
Shiro Shiro框架是Apache的框架 Shiro框架的核心是过滤器(10种过滤器) Shiro框架的核心功能(认证 授权 加密 会话管理) 1. 认证:登录 2. 授权:前提一定是登录后 ,判断登录人是否有相关权限 3. 加密:MD5Hash 4. 会话管理:shiro框架有他自己一套session管理,次session并不是HTTPSesion Shiro的使用步骤 搭建shiro框架 导入依赖 在这里插入代码片 < ! -- shiro和spring整合 -- > < dependency > < groupId > org . apache . shiro < / groupId > < artifactId > shiro - spring < / artifactId > < version > 1.3 .2 < / version > < / dependency > < ! -- shiro核心包 -- > < dependency > < groupId > org . apache . shiro < / groupId > < artifactId > shiro - core < / artifactId > < version > 1.3 .2 < / version > < / dependency > 在web

springboot下自定义shiro的sessionId的生成策略

∥☆過路亽.° 提交于 2019-11-28 20:55:26
查看源码 自定义SessionIdGenerator 配置: 验证 注意点 没有100%可靠的算法,暴力破解,穷举 限制时间内ip登录错误次数 增加图形验证码,不能过于简单,常用的OCR可以识别验证码 建议:微服务里面,特别是对C端用户的应用,不要做过于复杂的权限校验,特别是影响性能这块 源码地址:https://github.com/woxbwo/is-rbac-shiro-service/tree/master/src/main/java/com/is/shiro/service/config 完成!!! 来源: https://www.cnblogs.com/woxbwo/p/11427456.html

Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截

…衆ロ難τιáo~ 提交于 2019-11-28 20:44:24
重要链接: 「系列文章目录」 「项目源码(GitHub)」 本篇目录 前言 一、登出功能开发 1.后端 2.前端 二、完善的访问拦截 1.认证方案(session 与 token) - session - token 2.客户端存储方案 (cookie、localStorage、sessionStorage) 3.后端登录拦截 4.前端配置 5.rememberMe 下一步 前言 之前我老说自己写文章不容易,一篇有时候要搞七八个小时,想到大多数人恐怕没我这么用心,就偷懒偷得比较心安理得。但最近刷 B 站,发现一些 UP 主居然会花上百个小时去剪一个三分钟的视频,我了个乖乖,虽说写文章不像他们发视频那样能挣钱,但是我还是被他们这种为梦想爆肝的精神感动了,活该人家成功(tū tóu)啊。不过感动归感动,对于我来说写文章是一种兴趣,要是做到这种程度恐怕就没什么幸福感了。如果每篇文章都是这样的篇幅,两周一更其实压力也并不小,毕竟除去开头结尾吹牛扯皮和代码,一篇教程最起码有三千字是要字句斟酌的。 本篇文章主要内容如下: 登出功能开发 用户认证机制详解(session、token) 通过前后端的配合实现完善的访问拦截 进一步分析 Shiro 的工作机制 一、登出功能开发 有的同学可能已经发现了,我们的系统一直没有登出功能。其实按照过去的登录验证方法,服务器端并不会记住 “登录成功” 的状态

shiro笔记

£可爱£侵袭症+ 提交于 2019-11-28 20:16:56
ShiroConfig配置 package com.joel.shiro; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.LinkedHashMap; import java.util.Map; @Configuration public class ShiroConfig { //创建ShiroFilterFactoryBean @Bean public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("securityManager") DefaultWebSecurityManager securityManager) {

shiro、ehcache教程

烈酒焚心 提交于 2019-11-28 19:28:25
权限概述(认证、授权) 系统提供了很多功能,并不是所有的用户登录系统都可以操作这些功能。我们需要 对用户的访问进行控制 。 登录用户-【超级管理员】-【客服】-【快递员】-【人事】- 【财务】-角色 认证:系统提供的用于识别用户身份的功能(通常是登录功能)----- 让系统知道你是谁 授权:系统提供的赋予用户访问某个功能的能力----- 让系统知道你能做什么 常见的权限控制的方式 第一种:URL拦截权限控制(基于过滤器或者拦截器) 第二种:方法注解权限控制(基于代理技术) 权限模块数据模型 权限的表设计 用户表:t_user 用户角色关系表:user_role 角色表:auth_role 角色权限关系表:role_function 权限表:auth_function apache shiro Apache Shiro 简介 是一个强大而灵活的开源安全框架,它能够干净利落地 处理身份认证,授权,企业会话管理和加密 。 使用 Shiro,您就能够为您的应用程序提供安全性而又无需从头编写所有代码。 官网: http://shiro.apache.org/ 提供的功能 Apache Shiro 能做的事情 验证用户 对用户执行访问控制,如: 判断用户是否拥有角色admin。 判断用户是否拥有访问的权限 在任何环境下使用 Session API。例如CS程序。 可以使用多个用户数据源

Apache-Shiro CacheManager整合Redis提高性能

筅森魡賤 提交于 2019-11-28 19:09:17
控制流程图 背景 授权的时候每次都去查询数据库,对于频繁访问的接口,性能和响应速度比较慢,所以使用缓存 添加依赖 <!-- shiro+redis缓存插件 --><dependency>   <groupId>org.crazycake</groupId> <artifactId>shiro-redis</artifactId> <version>3.1.0</version> </dependency> 配置 由控制图可以看出,所有组件都是由securityManager管理的,所以必须将CacheManager配置到SecurityManager中 原有问题 解决:在自定义CustomRealm中修改 doGetAuthorizationInfo 方法 原有String username = (String)principals.getPrimaryPrincipal();User user = userService.findAllUserInfoByUsername(username);改为: doGetAuthenticationInfo方法 原有return new SimpleAuthenticationInfo(username, user.getPassword(), this.getClass().getName()); 改为: 源码地址: https:/

Apache -Shiro自定义Filter过滤器

久未见 提交于 2019-11-28 19:05:27
源码解析 shori中的默认filter   查看RolesAuthorizationFilter,以这个Filter为例: 分析:改源码表示,例如:/admin/order= roles["admin, root"] ,只有当放问该接口同时具备admin和root两种角色时,才可以被访问。 需求 配置:/admin/order= roles["admin, root"] 某一个接口当具备其中任意一种角色时,即可放被访问。 自定义Filter 继承AuthorizationFilter 代码: 配置   以上代码都是我亲自测试过的。 完成!!!    来源: https://www.cnblogs.com/woxbwo/p/11421685.html