Hi, Thanks for your reply. Yes, I have started to "translate" what was included in the old stuff, and adding lines one by one. Looks similar so far :-) Regards
Le 28-Jan-2022 21:39:03 +0100, [email protected] a crit: I dont recall what is there by default, this is what I have ... you probably dont need the saml or oauth stuff: implementation "org.apereo.cas:cas-server-support-jdbc-drivers:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-jpa-ticket-registry:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-jpa-util:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-oauth-webflow:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-saml-core-api:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-api-webflow:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-webflow:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-webflow-api:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-tickets-api:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-util-api:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-saml:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-saml-idp:${project.'cas.version'}" On Thursday, January 27, 2022 at 2:05:43 AM UTC-6 [email protected] wrote: Hi, Thank you very much for your answer, it will help me to find my way ! But is the SomethingWebflowConfigurer supposed to be usable per se, just to check everythin is taken into account ? I am still not able to compile it because of these missing symbols errors. Is there something else to add in the "build.gradle" or somewhere else ? Regards Le 27-Jan-2022 04:35:35 +0100, [email protected] a crit: I struggled with the same. With help from this community, going thru some cas code, and reading thru springboot docs I was finally able to get thru it. I'll try to summarize. There is a default login webflow already defined for you. What I did was let the default flow execute but then intercepted the last transition from REAL_SUBMIT -> TickgetGrantingTicket. So now the flow looks like DEFAULT_WEBFLOW->REAL_SUBMIT->MY_CUSTOM_WEBFLOW->TICKET_GRANTING_TICKET. My custom webflow consist of a dozen or so actions. 1) First you need to define a Configurer class, see cas doc SomethingWebflowConfigurer as an example. The main point in hooking your webflow with something like: createTransitionForState(realsubmit, CasWebflowConstants.STATE_ID_SUCCESS, , true); Then create your new action and handling each transition your action is capable of returning: val newActionState = createActionState(flow, , ); //step1Action is the name of your action class Step1Action that you have autowired createTransitionForState(newActionState, CasWebflowConstants.STATE_ID_SUCCESS, ); createTransitionForState(newActionState, "error", ); //step2Action is the name of your action class Step2Action that you have autowired createTransitionForState(newActionState, CasWebflowConstants.STATE_ID_SUCCESS, CasWebflowConstants.STATE_ID_CREATE_TICKET_GRANTING_TICKET); 4) Next, you'll need to tell spring about your configuration. Create a spring.factories file inside src/main/resources/META-INF. Include a reference to your configurer class: org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.apereo.cas.config.Step1Configurer,\ org.apereo.cas.config.Step2Configurer Good luck, hope this provides some useful insight. -psv On Wednesday, January 26, 2022 at 10:50:55 AM UTC-6 [email protected] wrote: Hi, I am trying to replace an old CAS 3.5, and having been far from this product during all these years, things have changed a lot ! After some trials and errors, I was able to clone the overlay repo, extract the fragments I needed to customize and build the WAR. Then I managed to add the required dependencies to get a working LDAP auth source (unfortunately without pooling) and a JSON services registry, and build a more complete WAR. But now I am facing a problem I can not solve : the old CAS had some customized webflow and some Java code to provide dynamic authentication depending on a list of network addresses (either direct LDAP or SPNEGO) I guess adapting this part will be something, but right now I am struggling at the very first step ! Wanting to give a try to this example : https://apereo.github.io/cas/6.4.x/webflow/Webflow-Customization-Extensions.html I am not able to compile " SomethingConfiguration" and I get the following errors : /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:5: error: cannot find symbol public class SomethingConfiguration implements CasWebflowExecutionPlanConfigurer { ^ symbol: class CasWebflowExecutionPlanConfigurer /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:3: error: cannot find symbol @Configuration("somethingConfiguration") ^ symbol: class Configuration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:4: error: cannot find symbol @EnableConfigurationProperties(CasConfigurationProperties.class) ^ symbol: class EnableConfigurationProperties /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:8: error: cannot find symbol private CasConfigurationProperties casProperties; ^ symbol: class CasConfigurationProperties location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:12: error: cannot find symbol private FlowDefinitionRegistry loginFlowDefinitionRegistry; ^ symbol: class FlowDefinitionRegistry location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:15: error: cannot find symbol private ApplicationContext applicationContext; ^ symbol: class ApplicationContext location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:18: error: cannot find symbol private FlowBuilderServices flowBuilderServices; ^ symbol: class FlowBuilderServices location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:22: error: cannot find symbol public CasWebflowConfigurer somethingWebflowConfigurer() { ^ symbol: class CasWebflowConfigurer location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:28: error: cannot find symbol public void configureWebflowExecutionPlan(final CasWebflowExecutionPlan plan) { ^ symbol: class CasWebflowExecutionPlan location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:4: error: cannot find symbol @EnableConfigurationProperties(CasConfigurationProperties.class) ^ symbol: class CasConfigurationProperties /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:7: error: cannot find symbol @Autowired ^ symbol: class Autowired location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:10: error: cannot find symbol @Autowired ^ symbol: class Autowired location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:11: error: cannot find symbol @Qualifier("loginFlowRegistry") ^ symbol: class Qualifier location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:14: error: cannot find symbol @Autowired ^ symbol: class Autowired location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:17: error: cannot find symbol @Autowired ^ symbol: class Autowired location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:20: error: cannot find symbol @ConditionalOnMissingBean(name = "somethingWebflowConfigurer") ^ symbol: class ConditionalOnMissingBean location: class SomethingConfiguration /opt/cas/src/main/java/org/example/something/SomethingConfiguration.java:21: error: cannot find symbol @Bean ^ symbol: class Bean location: class SomethingConfiguration It seems SpringBoot dependencies are not satisfied (I discovered all the concepts ten days ago so I might be wrong) but after "finding", "greping" and adding dozens of combinations like these, nothing has improved : implementation "org.apereo.cas:cas-server-core-api-configuration-model:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-configuration:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-webflow-api:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-web-api:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-util:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-core-configuration-api:${project.'cas.version'}" I used the "build.gradle" provided in the repo, just adding dependencies for LDAP and JSON. Can somebody tell me what I am missing ? 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/07382b33-b549-48fe-bdbe-1a6d345e71fen%40apereo.org. ------------------------------------------------------------------------------------------------- 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/10c6381c-0f86-469d-ae01-edda265bcf3bn%40apereo.org. ------------------------------------------------------------------------------------------------- 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/20220129173213.C4C68C009B%40smtp04.mail.de.
