本期,边肖将为您带来如何解决Springsecurityauth2Redis逆序的失败。文章内容丰富,从专业角度进行分析和叙述。看完这篇文章,希望你能有所收获。
当令牌被获取并且令牌资源认证可以在认证服务中同时使用时。然后,资源服务被集成到其他资源中。同时,定制了UserDetails,重写了接口方法。自定义用户详细信息服务,重写接口方法,并返回用户详细信息。当资源服务器对令牌进行身份验证时,会出现redis序列化失败的问题。示例:
/**
* @描述自定义实现用户详细信息。
* @ Authorwwz
* @日期2019/07/28
*@Param
* @返回
*/
@数据
public class myuserdailsimplementuserdails {
privateAuthUseruser
私人收藏?extendsgranteauthorityauthorities;
publicmyuser details(authuser user,Collection?extendsgranteauthorityauthorities){ 0
this.user=用户;
权威=权威;
}
publimyuser details(){ 0
}
@覆盖
publicCollection?extendsgranteauthoritytheauthorities(){ 0
返回权限;
}
其他遗漏./* *.
* @描述自定义用户身份验证数据。
* @ Authorwwz
* @日期2019/07/28
*@Param
* @返回
*/
@服务
public classmyuserdailsserviceimplesuserdetailsservice {
@自动连线
privateAuthUserMapper AuthUserMapper;
@覆盖
public user detailsloaduserbyusername(Stringusername)throwsUsernameNotFoundException {
//自定义用户权限数据。
authuser authuser=authuser mapper . selectbyusername(用户名);
if(AuthUSer==null){ 0
thrownewusernamenotfoundexception('用户名不存在');
}
if(!authuser . getvalid()){ 0
thrownewusernamenotfoundexception('用户不可用');
}
setgranted authorityranteauthorities=new hashset();
//中间逻辑省略。
myuser detailsuserdetails=new myuser details(authUser,granted authorities);
returnuserDetails
}
} org . spring framework . data . redis . serializer . serialization exception导致了此问题,因为令牌在生成时使用用户定义的UserDetails进行了序列化,反序列化时,在新项目中找不到用户定义的实现,只能使用默认实现。解决方案是将自定义实现的用户细节复制到资源项目中。
这就是如何解决上述小编共享的Springsecurityauth2Redis逆序失败的问题。如有类似疑惑,请参考以上分析了解。想了解更多,请关注行业信息渠道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/39228.html