casは認証コードを追加します
5770 ワード
casは検証コードを追加して、長い間苦しめて、やっと整理しました.ほとんどはhttp://binghejinjun.iteye.com/blog/1255293これを参考にしたのです.しかし、彼は検証コードのエラーを上げることができません.
赤いフォントは私のために追加されました.認証コードのエラーを提示できます.簡単です.ありがとうございます.原作者ありがとうございます.
1. まず、私が使っているcasのバージョンは3.4.6です.検証コードはCAPTCHAを採用しています.jarカバンはgoogleで検索できます.casを配置したら、web-infoディレクトリの下でlogin-webflow.xmlを見つけて、下記のコードを見つけます.
赤いフォントは私のために追加されました.認証コードのエラーを提示できます.簡単です.ありがとうございます.原作者ありがとうございます.
1. まず、私が使っているcasのバージョンは3.4.6です.検証コードはCAPTCHAを採用しています.jarカバンはgoogleで検索できます.casを配置したら、web-infoディレクトリの下でlogin-webflow.xmlを見つけて、下記のコードを見つけます.
<view-state id="viewLoginForm" view="casLoginView" model="credentials">
<var name="credentials" class="org.jasig.cas.authentication.principal.UsernamePasswordCredentials" />
<binder>
<binding property="username" />
<binding property="password" />
</binder>
<on-entry>
<set name="viewScope.commandName" value="'credentials'" />
</on-entry>
<transition on="submit" bind="true" validate="true" to="realSubmit">
<set name="flowScope.credentials" value="credentials" />
<evaluate expression="authenticationViaFormAction.doBind(flowRequestContext, flowScope.credentials)" />
</transition>
</view-state>
このセグメントのコードの機能は、cas登録中のユーザー名とパスワードを紐付けすることです. <view-state id="viewLoginForm" view="casLoginView" model="credentials">
<var name="credentials" class="org.jasig.cas.authentication.principal.UsernamePasswordCredentials" />
<binder>
<binding property="username" />
<binding property="password" />
</binder>
<on-entry>
<set name="viewScope.commandName" value="'credentials'" />
</on-entry>
<transition on="submit" bind="true" validate="true" to="yzmSubmit">
<set name="flowScope.credentials" value="credentials" />
<evaluate expression="authenticationViaFormAction.doBind(flowRequestContext, flowScope.credentials)" />
</transition>
</view-state>
つまり、realSubmitをyzmSubmitに変更するだけでいいです.そして、次のような構成を追加します. <!--fan add start-->
<action-state id="yzmSubmit">
<evaluate expression="yzmViaFormAction.submit(flowRequestContext,messageContext)" />
<transition on="success" to="realSubmit" />
<transition on="error" to="viewLoginForm" />
</action-state>
<!--fan add end-->
この段階の構成は、あなたが提示した検証コードの正しさを検証するためにカスタムの検証コード検証器である. 2.web-infoでcas-servlet.xmlを見つけ、開けたら、加入する <!--fan add start-->
<bean id="yzmViaFormAction" class="com.ivan.zhang.servlet.YzmAction"
/>