Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Por qué shiro no autorizadourl no es la página actual, sino la página principal?

¿Por qué shiro no autorizadourl no es la página actual, sino la página principal?

Solución:

1! -- Utilice el nombre de la clase o el nombre de la ruta completa como clave y el nombre de la página de excepción como valor para definir excepciones que requieren un manejo especial --gt

lt property name="exceptionMappings"gt; /p>

lt;propsgt;

lt;prop key=" org.apache.shiro.authz.UnauthorizedException"gt; none_authoritylt;/propgt;

lt;/ propsgt;

lt; p>

lt;/propertygt;

2, web.xml

lt;error-pagegt;

lt;error-codegt;500lt; /error-codegt;

lt;ubicacióngt;/error.jsplt;/ubicacióngt; -pagegt;

Motivo:

Código fuente de Shiro ShiroFilterFactoryBean.java

Vista [java]

copia simple

private void applyUnauthorizedUrlIfNecessary(Filter filter) {

String no autorizadoUrl = getUnauthorizedUrl();

if (StringUtils.hasText(unauthorizedUrl) amp; amp; (filtro instancia de AuthorizationFilter)) {

AuthorizationFilter authzFilter = (AuthorizationFilter) filter;

//solo aplica la URL no autorizada si aún no han configurado una explícitamente:

String existingUnauthorizedUrl = authzFilter.getUnauthorizedUrl ();

if (existingUnauthorizedUrl == null) {

authzFilter.setUnauthorizedUrl(authorizedUrl);

}

Cadena existenteUnauthorizedUrl = authzFilter.

Cadena existenteUnauthorizedUrl = authzFilter.}

}

El filtro definido debe cumplir los requisitos del filtro

instanceof

AuthorizationFilter, solo perms, roles, ssl, rest, port son parte de AuthorizationFilter, y anon, authcBasic, auchc y user son parte de AuthorizationFilter.

Parte de AuthenticationFilter, por lo que la página no saltará después de configurar la URL no autorizada

instanceof

instanceof

AuthorizationFilter.