`

用户登录之webflow配置详解(一)

    博客分类:
  • CAS
 
阅读更多

该部分主要是讲解在CAS server中登录流程的定义以及相关源码分析。我们注重的更多是与CAS相关的业务部分。所以,我们重点是对登录流程的讲解。具体涉及到webflow的知识点,我会粗略的讲解一下,但不会针对webflow的原理或源码进行大篇幅的讲解。想深入理解webflow工作原理的读者需要参考官方的webflow2.21版本的reference

WebflowSpring MVC集成

server工程下,看web.xml文件中定义了一个casservlet,该类中并没有太多的业务逻辑,但是该类中持有了一个DispatcherServlet。该类是spring MVC的核心类。也是处理请求的实际的业务类。通过该类的实例,cas server将用户发往cas servlet的请求交给spring MVC处理。

Spring MVC核心配置文件是cas-servlet.xml。在该文件中,webflow将于springMVC进行集成。

下面,我们就从login开始说起。

<!-- 根据工作流定义,生成一个执行器 -->

    <webflow:flow-executor id="flowExecutor" flow-registry="flowRegistry">

        <webflow:flow-execution-attributes>

            <webflow:always-redirect-on-pause value="false" />

        </webflow:flow-execution-attributes>

    </webflow:flow-executor>

 

    <!-- 注册一个工作流  id是子路径  flow入口-->

    <webflow:flow-registry id="flowRegistry" flow-builder-services="builder">

        <webflow:flow-location path="/WEB-INF/login-webflow.xml" id="login" />

    </webflow:flow-registry>

 

<webflow:flow-builder-services id="builder" view-factory-creator="viewFactoryCreator" expression-parser="expressionParser" />

 

 

在该文件中,我们可以看到上面的配置项。这就是将webflow框架作为spring MVC的一个节点来进行配置。

webflow:flow-registry节点就是注册了一个webflow流程,该流程的入口,也就是ID=login”。这样,交给springMVC的请求路径如果是login的,则有springMVC交给webflow处理。

webflow中,会定义一些视图,这些视图都是以view=”XXX”的形式存在的。那么XXX又是如何找到对应的页面呢??看flow-builder-services节点,我们会发现有个view-factory-creator属性,该属性就定义了视图解析工厂。

该视图解析工厂是由视图解析器组成的。这里只定义了一个视图解析器,就是viewResolvers。该视图解析器是springFramework中的ResourceBundleViewResolver的一个实例,该类可以通过basenames属性,找到value值对应的properties属性文件,该文件中式类似ke=values类型的内容,正是该文件将jsp文件映射成视图名称。

至此,springMVCwebflow已经集成完毕。

分享到:
评论

相关推荐

    cas原理 webflow mvc ioc

    在CAS服务器端,WebFlow负责管理登录流程,其配置主要在`/WEB-INF/login-webflow.xml`文件中进行。该文件定义了一系列状态(State),包括决策状态(Decision)、动作状态(Action)、视图状态(View)和初始/最终...

    SpringWebFlow学习笔记:全XML配置方式,纯流程跳转,不带有功能实现

    Spring Web Flow是一个强大的Java web开发框架,专门用于构建复杂用户交互流程的应用程序。它扩展了Spring MVC,使得在处理用户导航、状态管理以及事务控制方面更加便捷。在本篇文章中,我们将深入探讨如何使用全XML...

    Spring Web Flow2入门(二)

    - **webflow-javaConfig.zip**:这个压缩包包含了一个使用Java配置实现的SWF示例,你可以通过解压、构建和运行来观察其工作流程。 - **webflow-xml.zip**:这个示例则展示了如何通过XML配置文件定义和管理Flow。 ...

    spring-webflow

    - **Stack Overflow**:使用标签 `spring-webflow` 发布问题。 **1.4 跟踪开发进度** 想要了解最新的开发进展和计划,请关注: - **GitHub**:官方代码仓库,可跟踪最新的代码提交。 - **官方博客**:发布最新的...

    Spring mvc with Web Flow

    ### Spring MVC 与 Web Flow 技术详解 #### 引言 随着软件开发技术的不断发展,Web 应用程序的需求日益复杂。为了更好地管理和控制这些应用程序的流程,Spring 框架提供了强大的支持。其中,Spring MVC 和 Spring ...

    Springwebflow

    在"webflow"压缩包中,可能包含了以下组件: - **Flow Definition XML**:定义了Flow的结构和状态转移规则。例如,`flow.xml`文件通常会包含Flow的开始状态、结束状态和其他中间状态的定义。 - **View Resolver** ...

    webFlow-springmvc-security.rar

    《Spring WebFlow、SpringMVC与Security整合应用详解》 在现代Web开发中,构建安全、灵活且可扩展的Web应用程序至关重要。本资料主要探讨了如何将Spring WebFlow、SpringMVC和Spring Security三大框架有效地整合在...

    oa.rar_webflow.rar

    《基于WebFlow的OA系统详解》 OA(Office Automation)系统是企业信息化建设中的重要组成部分,主要用于提升办公效率,优化工作流程。本资料提供了一个基于WebFlow实现的OA系统实例,包含了数据库设计、源代码以及...

    spring-webflow-reference

    ### Spring Web Flow 2 参考指南核心知识点详解 #### 引言 Spring Web Flow 是一个功能强大的框架,专门用于处理复杂的应用流程管理。...这些特性使得Spring Web Flow成为构建现代Web应用的理想选择之一。

    Spring_Web_Flow

    ### Spring Web Flow 知识点详解 #### 一、Spring Web Flow 概述 Spring Web Flow 是一个基于 Spring 框架的高级流程管理框架,主要用于处理 Web 应用中的流程控制逻辑。它提供了一种声明式的流程定义方式,允许...

    web flow的购物车用例

    Spring Web Flow(SWF)是一个用于构建富用户交互Web应用的框架,它专注于管理应用程序中的用户导航流程。在这个购物车用例中,我们将深入探讨如何使用SWF 2.0实现一个简单而实用的购物车功能。 1. **Spring Web ...

    H3C交换机配置详解.pdf

    H3C交换机配置详解 H3C交换机是一种常见的网络设备,配置正确是确保网络稳定运行的关键。本文档将详细介绍H3C交换机的配置过程,包括用户配置、系统IP配置、DHCP客户端配置和端口配置。 一、用户配置 用户配置是H...

    H3C交换机配置详解.doc

    【H3C交换机配置详解】 H3C交换机配置是一项关键任务,它涉及到网络设备的管理和维护。本文将深入解析H3C S3600系列交换机的配置步骤和命令,涵盖用户配置、系统IP配置、DHCP客户端配置以及端口配置等多个方面。 ...

    spring mvc 教程

    4. **与Spring Security整合**:安全性的增强是Spring Web Flow 2.0的重要特点之一,通过简单的配置即可实现对用户访问权限的控制。 5. **简化配置**:官方声称2.0版本相比1.x版本减少了大约50%的XML配置代码,使得...

    让CAS支持客户端自定义登陆页面——服务器篇.docx

    创建`remoteLogin-webflow.xml`文件,定义处理远程登录的流程。流程文件的具体内容未在文档中给出,但通常会包含启动登录流程、验证用户凭证、以及与客户端交互等逻辑。 这些改动允许客户端通过自定义的登录页面...

    SpringWebFlowDemo

    **Spring Web Flow 知识点详解** Spring Web Flow(SWF)是Spring框架的一个扩展,专为构建有状态的Web应用程序而设计。它提供了一种结构化的方式来管理用户交互流程,使得开发者可以更容易地控制用户在网站上的...

    让CAS支持客户端自定义登陆页面----服务器篇-.pdf

    为了让CAS支持客户端自定义登录页面,需要对CAS服务器端进行一系列配置,包括修改Servlet映射,更新Spring WebFlow配置,以及创建新的流程配置文件。虽然这样做可能会带来一定的安全风险,但在满足特定需求时,这些...

    CVE-2017-4971分析1

    Spring Webflow是一个用于构建动态Web应用程序的框架,它专注于管理用户交互流程,例如表单提交、验证和页面导航。在Spring Webflow中,视图状态(view states)定义了用户界面的不同阶段,而模型绑定(model ...

    让CAS支持客户端自定义登陆页面----服务器篇--.doc

    ### 让CAS支持客户端自定义登录页面——服务器端配置详解 #### 一、背景与目的 随着企业级应用系统的不断扩展和发展,身份认证系统(如CAS)的安全性和灵活性变得尤为重要。CAS(Central Authentication Service)...

Global site tag (gtag.js) - Google Analytics