gpt4 book ai didi

java - 委托(delegate)身份验证的可接受使用策略问题

转载 作者:行者123 更新时间:2023-12-02 10:13:49 25 4
gpt4 key购买 nike

我们根据官方文档配置了标题中所述的两个功能( aup & delegate authentication

我们使用延迟身份验证来与外部 saml idp 提供商集成。所以我们有两种认证方式。 idp认证和本地认证(cas内部数据库认证器)。

经过外部和内部身份验证后,我们需要在满足条件 A 时显示接受使用策略 View 。

以上内容按本地登录的预期工作,但是,当在外部 idp 中执行身份验证时,即使条件 A 满足,也不会显示可接受的使用策略页面满足,用户最终登录最初请求的服务。

问题:为什么会发生这种情况?是否有任何可能的解决方法?

Cas服务器版本:5.3.7

最佳答案

如果您检查 this block ,您会发现策略使用验证已链接到并创建为 STATE_ID_CREATE_TICKET_GRANTING_TICKET 的输入操作:

final ActionState ticketCreateState = getState(flow, CasWebflowConstants.STATE_ID_CREATE_TICKET_GRANTING_TICKET, ActionState.class);
ticketCreateState.getEntryActionList().add(createEvaluateAction("acceptableUsagePolicyVerifyAction"));
createTransitionForState(ticketCreateState, AcceptableUsagePolicyVerifyAction.EVENT_ID_MUST_ACCEPT, VIEW_ID_ACCEPTABLE_USAGE_POLICY_VIEW);

这是 AUP 流程的限制,因此验证操作的结果会被忽略,并且不会考虑触发最终 View ,即使它表明如此,特别是在委托(delegate)用例中。

6.0.x 分支稍微更改了此逻辑以改进此行为:

val ticketCreateState = getState(flow, CasWebflowConstants.STATE_ID_CREATE_TICKET_GRANTING_TICKET, ActionState.class);
createEvaluateActionForExistingActionState(flow, ticketCreateState.getId(), AUP_VERIFY_ACTION);
createTransitionForState(ticketCreateState, CasWebflowConstants.TRANSITION_ID_AUP_MUST_ACCEPT, VIEW_ID_ACCEPTABLE_USAGE_POLICY_VIEW);

欢迎您在 5.3.x 部署中尝试相同的方法并报告。请务必彻底测试这两种情况。如果一切按预期工作,请发回,然后您可以向项目发布拉取请求以更改/修复此行为。

PS 请注意,各种 Webflow 操作和状态的纠缠是非常棘手的,因为有许多模块希望将自己插入到正确的 Webflow 状态中以适应某些行为。这些模块通常彼此一无所知,并试图在某种程度上不可知地增加流程。在这些情况下,将这些东西链接在一起可能非常棘手。

关于java - 委托(delegate)身份验证的可接受使用策略问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54812375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com