在使用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 且必须至少包含一个非空格的字符,否则抛出异常;