我有一個CAS 3.4.9使用登錄Webflow。
我需要直接調用特定操作/視圖的登錄Webflow。
怎麼辦?呼叫CAS登錄webflow
如果這是不可能的(我相信一個安全原因),如何可以在CAS上使用另一個webflow的另一個「服務」?
以這種方式,我必須使用什麼鏈接來調用它?
謝謝。
我有一個CAS 3.4.9使用登錄Webflow。
我需要直接調用特定操作/視圖的登錄Webflow。
怎麼辦?呼叫CAS登錄webflow
如果這是不可能的(我相信一個安全原因),如何可以在CAS上使用另一個webflow的另一個「服務」?
以這種方式,我必須使用什麼鏈接來調用它?
謝謝。
你有兩種選擇。擴展您想要調用的類,例如在generateServiceTicket中,或者創建一個新類並將您的類注入到CAS登錄Webflow中。
我在CAS登錄Webflow中注入了一個陷阱,以檢查用戶是否在過去365天內接受了策略。
通常在warn
決策狀態下,它將返回重定向操作狀態,但是我會捕獲用戶以便檢查策略。
<decision-state id="warn">
<if test="flowScope.warnCookieValue" then="showWarningView" else="checkPolicy" />
</decision-state>
然後,它過渡到我的checkPolicy
狀態
<action-state id="checkPolicy">
<evaluate expression="checkPolicyAction"/>
<transition on="success" to="redirect"/>
<transition on="error" to="viewLoginForm"/>
<transition on="redirectPolicy" to="redirectPolicy"/>
<transition on="gateway" to="redirectPolicy"/>
</action-state>
表達checkPolicyAction
在CAS-servlet.xml中來執行該方法doExecute
並返回到一個Webflow各種狀態的Java類定義就像你在前面的xml中看到的那樣。只需要將它關閉,redirectPolicy
將用戶重定向到一個新服務,然後讓他們接受該策略,然後他們可以繼續執行他們打算執行的操作。
看看https://github.com/Unicon/cas-password-manager - 這是一家公司已經擴展CAS的登錄Web流程以捕獲密碼更新。這是我獲得關於如何捕捉用戶的大部分想法的地方。 CAS用戶手冊https://wiki.jasig.org/display/CASUM/也是一個很好的資源。