java - Comprobación insensible de mayúsculas y minúsculas para el rol en HttpServletRequest
servlets roles (2)
Podría implementar un filtro que HttpServletRequestWrapper
solicitudes utilizando un HttpServletRequestWrapper
; implemente su HttpServletRequestWrapper para anular el método isUserInRole()
para que no isUserInRole()
entre mayúsculas y minúsculas (por ejemplo, configure todos los roles en mayúsculas y minúsculas, convirtiendo los parametros en mayúsculas).
Una búsqueda rápida encontrará muchos ejemplos de HTTPServletRequestWrapper ...
La clase javax.servlet.http.HttpServletRequest
tiene un método llamado isUserInRole
. Lo uso para verificar si un usuario tiene, por ejemplo, el rol de admin
. Sin embargo, ese método es sensible a mayúsculas y minúsculas. Entonces, si el rol en la solicitud era Admin
o ADMIN
, entonces isUserInRole("admin")
sería falso. Utilizo el método isUserInRole
en varios lugares a través de múltiples aplicaciones para verificar una cantidad de roles diferentes.
¿Hay alguna manera de lograr la funcionalidad de isUserInRole
sin tener en cuenta las mayúsculas y minúsculas que no requiere verificar cada posible combinación de casos diferente con isUserInRole
?
http://docs.oracle.com/javaee/6/tutorial/doc/gjiie.html
Solo asigne múltiples nombres de rol a la función de administrador:
<servlet>
<security-role-ref>
<role-name>admin</role-name>
<role-link>admin</role-link>
</security-role-ref>
<security-role-ref>
<role-name>Admin</role-name>
<role-link>admin</role-link>
</security-role-ref>
</servlet>
<security-role>
<role-name>admin</role-name>
</security-role>