我下载了一个使用Apache Shiro作为安全层的Spring MVC项目。在控制器中,它使用@RequiresPermissions来定义权限,例如:
@RequiresPermissions("sys:user:view")
@RequestMapping(value = {"index"})
public String index(User user, Model model) {
return "modules/sys/userIndex";
}
@RequiresPermissions("sys:user:view")
@RequestMapping(value = {"list", ""})
public String list(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
return "modules/sys/userList";
}
我有几个问题:
答案 0 :(得分:0)
实际权限String是自由形式。 "结构域:动作:实例"就是一个例子。您可以使用类似users:write
或更一般<domain>:<instance>:<action>
的内容。但没有什么可以阻止你使用像users:1234:write
这样的东西。使用相同的两个示例,您将分别拥有users:*:write
和swiftmailer:
auth_mode: login
。
至于#2你的领域(或RolePermissionResolver)负责定义用户和权限(或角色和权限)之间的映射