Hi,   I have spent a lot of time trying to understand how the internals of CAS 
Webflow are working during the last weeks, and I have made some progress.   
With informations gathered here 
https://apereo.github.io/cas/6.6.x/webflow/Webflow-Customization-Extensions.html
 and there https://fawnoos.com/2021/08/20/cas64-webflow-extensions/ , I have 
managed to get some working code.       package org.example.something; 
 import org.apereo.cas.configuration.CasConfigurationProperties; import 
org.apereo.cas.web.flow.configurer.AbstractCasWebflowConfigurer; import 
org.apereo.cas.web.flow.CasWebflowConstants; 
 import lombok.extern.slf4j.Slf4j; import lombok.val; 
 import org.springframework.context.ConfigurableApplicationContext; import 
org.springframework.webflow.definition.registry.FlowDefinitionRegistry; import 
org.springframework.webflow.engine.Flow; import 
org.springframework.webflow.engine.builder.support.FlowBuilderServices; import 
org.springframework.webflow.engine.ViewState; 
 @Slf4j public class SomethingWebflowConfigurer extends 
AbstractCasWebflowConfigurer {  public 
SomethingWebflowConfigurer(FlowBuilderServices flowBuilderServices,  
FlowDefinitionRegistry flowDefinitionRegistry,  ConfigurableApplicationContext 
applicationContext,  CasConfigurationProperties casProperties) {  
super(flowBuilderServices, flowDefinitionRegistry, applicationContext, 
casProperties);  } 
  @Override  protected void doInitialize() {  var flow = super.getLoginFlow();  
LOGGER.debug("[TESTING] doInitialize@SomethingWebflowConfigurer flow={}", 
flow); 
  if (flow != null) {  tweakFlow(flow);  }  } 
  protected void tweakFlow(final Flow flow) {  LOGGER.debug("[TESTING] 
tweakFlow@@SomethingWebflowConfigurer flow={}", flow);  val state = 
getState(flow, CasWebflowConstants.STATE_ID_VIEW_LOGIN_FORM, ViewState.class);  
state.getTransitionSet().remove(createTransitionForState(state, 
CasWebflowConstants.TRANSITION_ID_SUBMIT, 
CasWebflowConstants.STATE_ID_REAL_SUBMIT));  
createStateDefaultTransition(state, 
CasWebflowConstants.STATE_ID_MFA_UNAVAILABLE);  } }     Of course it's far from 
doing what I am expecting yet, but at least it is finally compling and running 
:   What annoys me is that it's not logging anything.   Of course my CAS 
instance has an exhaustive "log4j.xml" configuration, and I get a lot of 
informations in "cas.log" and on the console.   But nothing in this case.   I 
first thought it was not working or was ignored, but no, having a look at the 
JSON dump of the webflows reveals the creation operations have been executed.   
What did I miss ?   Regards 

-------------------------------------------------------------------------------------------------
FreeMail powered by mail.fr

-- 
- 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/9ca79e528f7a43ecdc112da69b010c4995ad10c3%40mail.de.

Reply via email to