在pom中替换较新的spring-security- [core | config | data | web]的Maven依赖项后,以前在3.2.7版中工作的@PreAuthorize代码现在因AccessDeniedException而失败。
def sumDigits(s):
if isinstance(s, basestring):
total = 0
new_list = [x for x in s if x.isdigit()]
for e in new_list:
total += int(e)
return total
else:
print "What you entered is not a string."
}
答案 0 :(得分:1)
请将hasRole('Administrator')
更改为hasAuthority('Administrator')
:
@PreAuthorize("hasAuthority('Administrator')")
<S extends Notification> S save(S notification);
答案 1 :(得分:0)
尝试以下:
@SuppressWarnings("unchecked")
@Override
@PreAuthorize("hasRole('Administrator')")
Notification save(@P("notification") Notification notification);
答案 2 :(得分:0)
Spring安全内部使用&#34; ROLE _&#34;作为前缀。我们创建并检查没有此前缀的角色,它适用于版本3.2.7但在版本4.0.1中失败。修复是使用前缀&#34; ROLE _&#34;创建角色。支票可以带或不带此前缀。