从Spring security 3.2.7升级到4.0.1

时间:2015-05-21 23:22:34

标签: spring-security spring-data

在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."

}

3 个答案:

答案 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;创建角色。支票可以带或不带此前缀。