【CAS-Server】CAS中webflow的execution产生

本文详细介绍了CAS服务器中用于流程管理的关键参数execution的生成过程。execution的值由ClientFlowExecutionKey类根据特定算法创建,其格式为UUID与Base64编码的流程状态组合。在Spring Webflow框架下,execution对于跟踪和恢复用户流程至关重要,相当于session的标识。CasWebflowContextConfiguration配置类中定义了流程执行器,通过WebflowExecutorFactory的buildFlowExecutorViaClientFlowExecution方法利用ClientFlowExecutionRepository获取execution。整个流程涉及到的关键类包括CasWebflowContextConfiguration、WebflowExecutorFactory、FlowExecutor和ClientFlowExecutionRepository。

CAS中exection的key产生类

spring-webflow框架中,请求一个已有的流程必须要指定execution才可以正确返回该flow现在都到哪一Step了。所以参数execution对于flow来说非常重要,就类似于session存在前端的cookie中的session id信息一样,如果没有这个值的话,那又只能重新开启一个新的flow了。

spring-webflowexecution产生由FlowExecutionKeyFactory接口定义。在CAS-Server中重新定义了execution的产生算法.具体的实现类由org.apereo.cas.web.flow.executor.ClientFlowExecutionRepository完成。execution对应的实体接口FlowExecutionKey。在CAS_Server中采用ClientFlowExecutionKey类。 toString之后的格式默认是

private static final String KEY_FORMAT = "<uuid>_<base64-encoded-flow-state>";

所以产生的execution的值比较长,基本长下面这个样子:

553360a0-1327-47a0-8b89-cc205d9aa615_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0o5LlBEMi01TkswR0xaV0toOVVGRklRbWcxSEpnTTRqWENNdGEyNzhyREd6YzctZzQxX3hLNGpBTlc1RlJfVUhkMk9LSWN6NGxScFNiSTNQbEZManFBamJxWENtSmJDa0h2MFNvQm9TeHEyQVZJaVJyeTNwLUE5YXpHTGI1SmlqTjB5bFFWa0I4MjJqa0QtVFFpSExNWkJ2YzZjMjMwc3BzeG5VNjNBNnZNRzllc2F5cEhEczlOcEVnSVRkcFAyRXdja3FvNUFvM185QmswbllRRWkwMFpWYkxnOVVsM1hGU1R2Z1hNLTFCMnczdWNQQ3lzdnhZS3VuemNIck56WEN4cFptVDQ3aUkta1BwcU1DZDNfUGVkU3l6UzVrMG9hTDd4NV9ESVlidVlEczNCeTdtMkF1czJHNVdtV1NTbDZfeFlfTjQ5VDZwb3JNbjlsVFpyalVxS3Q3aUJHekpSTGtCcHQxNnY1UFJMbUg0cTRnZXlXTXczUWpFbWZVLXFzeUZoUHhhdzRRR21nakN0WXpsSkJuSVlDUVBJUmdiaVR6QkRjcVZKamNXaE8zdW92YTJfdUVPOWxJeHlPVVU4NDlFS01qakVFeEJZNzYyanFRdklVc1MtYXBIbUhJYm55Uk5CWFI0UGY0c096VjR1ZjE5c0tsOUtGdF8zT29aZy0tcG5NS2hQeDVCTkxZUWdLbFdLQUZ6dzJBLV9WMEpsRTZRR1I3a09GOUl3XzZTY3V2MzVJM1paS3l3cWx4a0t0d1JIOVBZUzl4WTFuUEtWVndIVDVRaFY1WUdmZGV5VjN3bWpUMnBxWVpiYjFLTGQ3Q29XOG1aS1UxakVuMTRuQzhERjBOVDA3WG1Sbmp4VkUtZGpjVVdoMHJIR0picmJscDFNc29qR0NEZHRjcGttSi01OGdyLUh4UG9wcldfaXlCcH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值