慕丝7082516
开发wuli
同学你可以跟着一起敲的
开发wuli
2311
改个昵称玩玩
可能是你拦截的路径没写好吧
qq_张狂与自由_0
如果按照老师教程这样写代码,把session存到redis,在其它业务中同样可以访问redis取到session来用呀。RedisSessionDao可以给shiro用来对session进行增删查改,你也可以在其它业务中用这个类来操作session。
ktsleep
我刚学到这里,老师说用一个hashmap代替redis,让数据缓存到本地,你可以把redis看做一个大的hashmap
慕慕0467570
给力吖
weisy
qq_慕妹0217392
太感谢啦你就是我大哥
qq_慕数据0038142
找到问题了,之前也看有人提过配置的问题,只是没有理解。下面是连接不上redis的参考:https://blog.csdn.net/mxlwd168/article/details/76136090
我spring-redis.xml中修改后是这样的:

加上 type属性就可以了
林山夕风
开发环境的问题,实际生产环境中就不会。
彼岸花123
我也遇到过,我的解决方法是springboot项目启动时候,把 jedis连接池初始化为bean就可以了
慕函数7333963
redis里插数据时试试这种
new String("xxxxx".getBytes(StandardCharsets.UTF_8))
慕桂英454505
将CustomSessionManager的父类修改为DefaultWebSessionManager。在修改之前我们用的是DefaultWebSessionManager,继承这个就没问题,这个类应该还是重写了DefaultSessionManager的方法的。
CustomSessionManager extends DefaultWebSessionManager
哼哼哈哈呵呵0_0
護道人
原来怎么存的,现在怎么取就行。
你这个没有对象的野指针
老哥,你的jedisUtil指向null了
weixin_慕函数7175840
你是夏夜的萤火
苦了我一天,找到问题所在了!!
public class CustomSessionManager extends DefaultWebSessionManager
自定义的 CustomSessionManager 要继承 DefaultWebSessionManager ,而不是 DefaultSessionManager ,难怪获得的 sessionId 和 request 为 null,给后来者一个告诫,不要像我一样了。
gallinipper
已解决,是tomcat配置的问题。删掉原来的配置重新配置一边就好使了。
慕桂英2069973
+1~
蔓茵black
兄弟,英语很重要啊
qq_慕先生8123192
不是用expire设置key的生存时间了么,600s。
时间过了,也就删了。
慕神1414121
@Reference 应该改为 @Resource或者@Autowired
开新车的老司机
应该是 你用了 前端框架吧
exxxe
本身是string的, 但是redis存储的时候 要求key value都是二进制, 所以就转换了一下
qq_讨厌鱼的小猫咪_lrwDX9
我个人感觉老师是解决在一个请求里面不会多次访问redis的问题,比如在访问longin.html的时候会多次请求redis,读取session信息。session放在request中的话就能减少请求redis次数。
慕田峪6158295
redis连接不上,配置信息对吗
喜洋洋Max
com.zduod.admin.cache.UserCacheManager
你的這個類,bean注入頭問題,把代碼粘出來看看
qq_南方
@Bean
public DefaultWebSecurityManager securityManager() { // DefaultSecurityManager
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(userRealm2());
securityManager.setCacheManager(ehCacheManager());
securityManager.setRememberMeManager(rememberMeManager());
securityManager.setSessionManager(sessionManager()); // 自定义Session管理
SecurityUtils.setSecurityManager(securityManager); // 初始化 SecurityManager
return securityManager;
}
/* 我再最开始时,使用DefaultSecurityManager进行初始化,DefaultWebSecurityManager是其子类,
* 我想是这个原因,我也验证了。
*/