我有一个使用Spring MVC和Spring Security的项目。
角色:
MainFeedTableViewController
Permissions:
ROLE_USER and ROLE_ADMIN
在角色和权限之间:
READ_PRIVILEGE, WRITE_PRIVILEGE
情况如下:
我有一个控制器,我想用注释保护动作
ROLE_ADMIN -> READ_PRIVILEGE AND WRITE_PRIVILEGE
ROLE_USER -> READ_PRIVILEGE
这样的事情:
@PreAuthorize("hasRole('ROLE_ADMIN')")
但注释不起作用,但是如果我将代码改为类似的东西就可以了:
@RequestMapping(value = "/admin/usersAndRoles", method = RequestMethod.GET, produces = "application/json")
@PreAuthorize("hasRole('ROLE_ADMIN')")
public @ResponseBody String usersAndRoles(HttpServletRequest request) throws IOException
任何人都可以给我一个暗示吗? 我不想限制具有权限的操作,我更喜欢角色限制。
提前致谢。
答案 0 :(得分:1)
如何配置权限和角色?
默认情况下,hasRole("role")
会检查"角色"在Auththenticated用户的GrantedAuthorities中,只要您在那里担任角色,它就应该有效。
也许您使用的是GrantedAuthorities的权限?