[ 
https://issues.apache.org/jira/browse/SHIRO-879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

kretz kuang updated SHIRO-879:
------------------------------
    Description: 
Integration with spring boot 2.6.6, Deployed in standalone Tomcat.

Inject Bean Map<String, Filter> filterMap, initialize errorPageFilter is too 
early, when build Bean ShiroFilterFactoryBean. Cause BasicErrorController 
injection failure,  unable to add default error handling path /error. 

The reason is that ErrorPageFilter is not processed by 
ErrorPageRegistrarBeanPostProcessor.

Fix it like this:

change class AbstractShiroWebFilterConfiguration
{code:java}
@Autowired(required = false)
protected Map<String, Filter> filterMap;{code}
to 
{code:java}
@Autowired(required = false)
@Qualifier("shiroFilters")
protected Map<String, Filter> filterMap;{code}

  was:
 Integration with spring boot 2.6.6, Deployed in standalone Tomcat.

Inject Bean Map<String, Filter> filterMap, initialize errorPageFilter is too 
early, when build Bean ShiroFilterFactoryBean. Cause BasicErrorController 
injection failure,  unable to add default error handling path /error. 

 The reason is that ErrorPageFilter is not processed by 
ErrorPageRegistrarBeanPostProcessor.

 Fix it like this:


    change class AbstractShiroWebFilterConfiguration
{code:java}
@Autowired(required = false)
protected Map<String, Filter> filterMap;{code}
to 
{code:java}
@Autowired(required = false)
@Qualifier("shiroFilters")
protected Map<String, Filter> filterMap;{code}


> spring boot errorPageFilterConfiguration and errorPageFilteris not eligible 
> for getting processed by all BeanPostProcessors
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SHIRO-879
>                 URL: https://issues.apache.org/jira/browse/SHIRO-879
>             Project: Shiro
>          Issue Type: Bug
>          Components: Configuration
>    Affects Versions: 1.9.0
>         Environment: spring boot 2.6.6
> standalone apache-tomcat-9.0.62
>            Reporter: kretz kuang
>            Priority: Minor
>         Attachments: Original  debugger.png, Original  error page.png, 
> Original log .png, modified   error page.png, modified  debugger.png, 
> modified  log.png
>
>
> Integration with spring boot 2.6.6, Deployed in standalone Tomcat.
> Inject Bean Map<String, Filter> filterMap, initialize errorPageFilter is too 
> early, when build Bean ShiroFilterFactoryBean. Cause BasicErrorController 
> injection failure,  unable to add default error handling path /error. 
> The reason is that ErrorPageFilter is not processed by 
> ErrorPageRegistrarBeanPostProcessor.
> Fix it like this:
> change class AbstractShiroWebFilterConfiguration
> {code:java}
> @Autowired(required = false)
> protected Map<String, Filter> filterMap;{code}
> to 
> {code:java}
> @Autowired(required = false)
> @Qualifier("shiroFilters")
> protected Map<String, Filter> filterMap;{code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to