登录报错:A granted authority textual representation is required

在使用Spring Security配置用户登录时,从数据库中获取用户的权限信息添加到Set<GrantedAuthority>里面去:

Set<GrantedAuthority> authSet = new HashSet<GrantedAuthority>();

List<OaasPrivate> pris = this.privateService.qryPrivatesByUser(user.getUserId());
for (Iterator<OaasPrivate> iterator = pris.iterator(); iterator.hasNext();) {
OaasPrivate pri = iterator.next();
authSet.add(new SimpleGrantedAuthority(pri.getPrivateCode()));
}

pri.getPrivateCode()传进去的参数是不能为 null 且必须至少包含一个非空格的字符,否则抛出异常; 

原因是SimpleGrantedAuthority的构造方法


 Assert.hasText(String text) / hasText(String text, String message) 

text 不能为 null 且必须至少包含一个非空格的字符,否则抛出异常; 


"A granted authority textual representation is required"是Spring Security的异常信息,意思是需要提供一个授权的文本表示。这个异常通常出现在使用Spring Security进行授权时,当没有正确配置授权信息时会引发这个异常。在你提供的引用中,这个异常信息出现在使用Redis进行授权时,可能是因为最后一行数据出现了问题。具体原因可能是45行数据和43行数据之间存在父子关系,但父级被删除了导致子级无法读取到授权信息,或者是授权表格中的空值导致授权信息不完整。解决这个问题的方法是逻辑删除所有无效的数据,确保授权信息的正确性,这样就能正常登录了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Exception:A granted authority textual representation is requiredSpring Security的异常](https://blog.csdn.net/toyearn/article/details/128256007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [A granted authority textual representation is required 异常一个解决方法](https://blog.csdn.net/xiaoxiqo/article/details/130234215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值