Spring Security proporciona JSP tag support para esto. Por ejemplo:
<sec:authorize url="/admin">
This content will only be visible to users who are authorized to access the "/admin" URL.
</sec:authorize>
thymeleaf proporciona una seguridad dialecto primavera que tiene el apoyo directo a checking URL authorization con Spring Security. Por ejemplo:
<div sec:authorize-url="/admin">
This will only be displayed if authenticated user can call the "/admin" URL.
</div>
Si su tecnología no es compatible con la realización de la verificación directa, puede utilizar simplemente la WebInvocationPrivilegeEvaluator (este es el objeto de que el taglib JSP y el uso thymeleaf). Por ejemplo, puede @Autowire
una instancia de WebInvocationPrivilegeEvaluator
y usarla directamente. Obviamente, la sintaxis variará dependiendo de dónde la use (es decir, GSP, Freemarker, etc.), pero aquí hay un ejemplo en código Java directo.
@Autowired
WebInvocationPrivilegeEvaluator webPrivs;
public void useIt() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
boolean hasAdminAccess = webPrivs.isAllowed("/admin", authentication);
boolean hasAdminPostAccess = webPrivs.isAllowed(null, "/admin", "POST", authentication);
}
¿te refieres a la solicitud incluyendo el patrón de intercepción de url o está autenticado en ssl? – HRgiger
quiero decir patrón de intercepción de url y anotación segura. – user1641877
Quiero probar que la solicitud actual en la que me encuentro, sea anónima o se haya marcado como segura utilizando una configuración o utilizando la anotación @Secured – user1641877