javax.servlet.http.HttpServletRequest类有一个名为isUserInRole的
方法.我使用它来检查
用户是否具有例如admin角色.但是,该
方法区分大小写.因此,如果请求中的角色为Admin或ADMIN,则isUserInRole(“admin”)将为false.我在多个应用程序的多个地方使用isUserInRole
方法来检查多个不同的角色.
有没有办法实现isUserInRole功能的情况 – 不需要检查与isUserInRole的每个不同的可能的情况组合?
您可以使用HttpServletRequestWrapper实现一个使用HttpServletRequestWrapper来包装请求的过滤器 – 实现您的HttpServletRequestWrapper来覆盖isUserInRole()
方法,使其不区分大小写(例如,通过转换为大写)将大小写的所有角色,测试角色参数配置为大小写).
快速搜索将找到大量的HTTPServletRequestWrapper示例…