当谈到 Spring Security 应用程序中的 GrantedAuthority 对象时,我有一个担忧。我正在寻找一种处理事情的好方法。首先,我试图描述我的担忧,如果有任何事实错误,请毫不犹豫地指出,我将不胜感激。
Spring Security 使用 GrantedAuthority 实例在应用程序的不同部分充当授权令牌。
默认情况下,GrantedAuthority 可以将自身呈现为字符串。当使用@Secured("ROLE_NAME")保护方法,或使用 Spring XML 配置保护 URL或以编程方式检查HttpServletRequest 请求时,如if(request.isUserInRole("ROLE_NAME")) {..}您用于指定要检查的权限的字符串。
我想知道在应用程序的几个地方使用静态字符串的含义。如果更改了角色名称,开发人员必须查找所有旧字符串并更新它们。如果缺少一个字符串,则不会出现编译时错误,只会在运行时出现问题。
在 Spring Security 应用程序中处理 GrantedAuthority 对象时,您认为最好的方法是什么?你的解决方案有什么优点和缺点?