扩展现有的 webflowconfigurer(CAS webflow)是否可行?

Is extending an existing webflowconfigurer (of the CAS webflow) feasible?

this 博客 post 中,涵盖了创建新的 Webflowconfigurer 以扩展网络流程的主题。

在提供的示例中,这是通过 类 完成的,它扩展了 AbstractCasWebflowConfigurer 并引入了通过包含的过程附加到 webflow 的新操作。

扩展现有的配置器(例如 AcceptableUsagePolicyWebflowConfigurer 并覆盖其某些方法是否可行,或者这是否超出了 CAS 网络流程的范围?如果可行,正确的方法是什么? p.s。目前在版本 5.3.x

Is extending already existing configurers like for instance AcceptableUsagePolicyWebflowConfigurer and overriding some of its methods feasible or is that outside the scope of CAS web flow?

是的,这是可行的。

如果您检查 this block,您会发现 AcceptableUsagePolicyWebflowConfigurer 只是有条件地创建,如果在上下文中尚未找到同名的现有 bean。所以要提供你自己的,你只需要使用你自己的 @Configuration class 注册一个同名的 bean。像这样:

    @Bean
    @DependsOn("defaultWebflowConfigurer")
    public CasWebflowConfigurer acceptableUsagePolicyWebflowConfigurer() {
        return new MyAcceptableUsagePolicyWebflowConfigurer(...);
    }

    public class MyAcceptableUsagePolicyWebflowConfigurer extends 
                          AcceptableUsagePolicyWebflowConfigurer {}

要了解 @Configuration class 的一般工作原理,您可以:

是否有使用 Java 为 cas 6.x 扩展 cas 登录 webflow 的示例。我假设无需修改登录名-webflow.xml 即可完成此操作。

https://apereo.github.io/cas/6.1.x/webflow/Webflow-Customization-Extensions.html 没有很好地解释需要在何处进行这些更改。