vhr
vhr copied to clipboard
根据用户传来的请求地址,分析出请求需要的角色
在 CustomFilterInvocationSecurityMetadataSource 这个类中 首先通过数据库查询到菜单表,遍历菜单匹配到对应的url再去找到这个url所拥有的角色,CustomUrlDecisionManager这个类中判断当前登录的用户是否具备当前请求URL所需要的角色信息:也是通过遍历这个URL所需要的角色,里面再通过自己所拥有的角色来得出是否有权限访问。 **提出疑问:**虽然在数据库查询哪里加了缓存,但是后面的操作都需要遍历,而且都是双重价格遍历。当访问量、系统复杂度、角色增多 这里的效率是不是很低呢。 提出想法: 利用@PreAuthorize("hasAnyAuthority('')")注解是不是可以代替上面步骤呢