java - j_spring_security_check - spring security tutorial
¿Cuál es la diferencia entre ROLE_USER y ROLE_ANONYMOUS en una configuración de URL de intercepción de Spring? (2)
¿Cuál es la diferencia entre ROLE_USER y ROLE_ANONYMOUS en una configuración de url de intercepción de Spring como en el siguiente ejemplo?
<http auto-config="false" access-decision-manager-ref="accessDecisionManager"
use-expressions="true">
<intercept-url pattern="/admin/**" access="hasRole(''ROLE_ANONYMOUS'')"
requires-channel="http" />
<intercept-url pattern="/login/**" access="hasRole(''ROLE_ANONYMOUS'')"
requires-channel="${application.secureChannel}" />
<intercept-url pattern="/error/**" access="hasRole(''ROLE_ANONYMOUS'')"
requires-channel="http" />
<intercept-url pattern="/register/**" access="hasRole(''ROLE_ANONYMOUS'')"
requires-channel="${application.secureChannel}" />
<intercept-url pattern="/" access="hasRole(''ROLE_ANONYMOUS'')"
requires-channel="http" />
<intercept-url pattern="/**" access="hasRole(''ROLE_USER'')"
requires-channel="http" />
<form-login login-page="/login" login-processing-url="/login/submit"
authentication-failure-url="/login/error" />
<logout logout-url="/logout" />
</http>
ROLE_ANONYMOUS es la función predeterminada asignada a un usuario no autenticado (anónimo) cuando una configuración utiliza el filtro de "autenticación anónima" de Spring Security. Esto está habilitado por defecto. Sin embargo, probablemente sea más claro si utiliza la expresión isAnonymous () , que tiene el mismo significado.
ROLE_USER no tiene ningún significado a menos que asigne este rol a sus usuarios cuando se autentiquen (usted está a cargo de cargar los roles (autoridades) para un usuario autenticado). No es un nombre que está integrado en la infraestructura de Spring Security. En el ejemplo dado, presumiblemente esa función se asigna a un usuario autenticado.
ROLE_ANONYMOUS no tiene credenciales de usuario, ROLE_USER tiene credenciales de usuario ... se ha autenticado.
esta es mi interpretación basada en la configuración provista