javax.servlet.http.HttpServletRequest
类有一个名为 isUserInRole
的方法。例如,我用它来检查用户是否具有 admin
角色。但是,该方法区分大小写。因此,如果请求中的角色是 Admin
或 ADMIN
,则 isUserInRole("admin")
将为 false。我在多个应用程序的多个位置使用 isUserInRole
方法来检查多个不同的角色。
有没有一种方法可以不区分大小写地实现 isUserInRole
功能,而无需使用 isUserInRole
检查每个不同的可能大小写组合?
最佳答案
您可以使用 HttpServletRequestWrapper
实现一个包装请求的过滤器 - 实现您的 HttpServletRequestWrapper 以覆盖 isUserInRole()
方法以使其不区分大小写(例如,配置所有大写的角色,通过转换为大写来测试角色参数)。
快速搜索会发现大量 HTTPServletRequestWrapper 示例...
关于java - 不区分大小写检查 HttpServletRequest 中的角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34185313/