1、获取资源cas-server-integration-jcaptcha-4.2.7.jar
cas-server-integration-jcaptcha-4.2.7.jar-Java文档类资源-CSDN下载
2、放到WEB-INF/lib下,此包依赖jcaptcha相关jar:
jcaptcha-1.0.jar
jcaptcha-api-1.0.jar
imaging-01012005.jar
需要自行添加到lib目录下
下载地址:
https://download.csdn.net/download/shibushi114/84391501
3、开始配置jcaptcha,配置前需要事先安装好CAS 4.2.7 server,并可以正常登录,本文中cas部署在ROOT下,之后按下面步骤修改配置即可:
- 修改ROOT/WEB-INF/webflow/login下的login-webflow.xml
在此文件中增加如下新的配置:
<decision-state id="captchaCheck">
<if test="flowScope.count != null && flowScope.count >= 3" then="captchaValidate" else="sendTicketGrantingTicket"/>
</decision-state>
<action-state id="captchaValidate">
<evaluate expression="captchaValidateAction.submit(flowRequestContext, messageContext)"/>
<transition on="success" to="sendTicketGrantingTicket" />
<transition on="error" to="errorCount" />
</action-state>
<action-state id="errorCount">
<evaluate expression="captchaErrorCountAction"/>
<transition on="success" to="initializeLogin" />
</action-state>
之后修改action-state为realSubmit和handleAuthenticationFailure的片段 为如下 内容:
<action-state id="realSubmit">
<evaluate
expression="authenticationViaFormAction.submit(flowRequestContext, flowScope.credential, messageContext)"/>
<transition on="warn" to="warn"/>
<!--
To enable AUP workflows, replace the 'success' transition with the following:
<transition on="success" to="acceptableUsagePolicyCheck" />
-->
<transition on="success" to="captchaCheck"/>
<transition on="successWithWarning