Hi,
I had to do something similar for the Password Management and did not want
to recreate everything. So the solution I came up with was to remove the
passwordManagementWebflowConfigurer from the execution plan and set the
order to one before my configurer and readd the
passwordManagementWebflowConfigurer.
It's serious issue and pain that you can set a definite order to the item
like these CasWebflowConfigurer that actually rely on the order to execute.
This needs to be able to be configured.
I hope this helps.
@Autowired
@Qualifier("passwordManagementWebflowConfigurer")
private CasWebflowConfigurer passwordManagementWebflowConfigurer;
@Override
public void configureWebflowExecutionPlan(final CasWebflowExecutionPlan
plan) {
plan.getWebflowConfigurers().removeIf(casWebflowConfigurer ->
casWebflowConfigurer.getName().equals(passwordManagementWebflowConfigurer.getName()));
final int order = Ordered.LOWEST_PRECEDENCE - 100;
try {
if
(AopUtils.isJdkDynamicProxy(passwordManagementWebflowConfigurer)) {
((PasswordManagementWebflowConfigurer) ((Advised)
passwordManagementWebflowConfigurer).getTargetSource().getTarget()).setOrder(order);
} else {
((PasswordManagementWebflowConfigurer)
passwordManagementWebflowConfigurer).setOrder(order);
}
} catch (final Exception exception) {
LOGGER.error("The following error ocurred during reconfigure of
startup sequence.", exception);
}
plan.registerWebflowConfigurer(passwordManagementWebflowConfigurer);
plan.registerWebflowConfigurer(vicUniPasswordManagementWebflowReconfigurer());
}
On Tuesday, 25 September 2018 12:49:25 UTC+10, Andy Ng wrote:
>
> Hi Curtis,
>
> Ah I missed to mention something,
>
> when you tries to override a Bean inside a Configuration file, whether or
> not is actually override success depends on the load sequence. Which one
> load last will be the actual bean to be used.
> See:
> https://stackoverflow.com/questions/11833804/overriding-bean-configuration-in-spring
>
> To make sure your defined bean takes effect, you might need to use the
> @Import notation.
>
> So you could try out the following:
>
> ===========================================================================================
> @Configuration("myDomainX509AuthenticationWebflowConfiguration ")
> @EnableConfigurationProperties(CasConfigurationProperties.class)
> @Slf4j
> @Import(X509AuthenticationWebflowConfiguration.class)
> public class MyDomainX509AuthenticationWebflowConfiguration implements
> CasWebflowExecutionPlanConfigurer {
>
> ..........
>
>
>
>
> ===========================================================================================
>
> If this still doens't work, then maybe you might needs to stick to your
> solution then...
>
> Cheers!
> - Andy
>
>
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/5ce66094-a752-4add-a7f6-e650b52d5466%40apereo.org.