简述:在部署CAS登录过程中,可能会用到验证码功能,这里介绍一下加入验证码的详细过程。
1.本文使用的CAS服务器版本是3.5.2 release版本,验证码采用的是JCAPTCHA,因为我使用的Maven部署,所以只需要在原来CAS项目中的pom.xml中加入以下代码引入jacptcha.jar,Maven会帮我们下载关联的jar包。
<dependency>
<groupId>com.octo.captcha</groupId>
<artifactId>jcaptcha</artifactId>
<version>1.0</version>
</dependency>
2.修改CAS登录页面,修改位于WEB-INF/view/jsp/default/ui下的casLoginView.jsp,在密码输入框下面添加如下代码:
<div class="row fl-controls-left">
<label for="password" class="fl-label"><spring:message code="screen.welcome.label.vcode" /></label>
<img alt="vcode" src="captcha.jpg" height="50px;" width="190px;" style="padding-top:5px;padding-left:5px;">
<spring:message code="screen.welcome.label.vcode.accesskey" var="vCodeAccessKey" />
<form:input cssClass="required" cssErrorClass="error" id="vcode" size="25" tabindex="1" accesskey="${vCodeAccessKey}" path="vcode" autocomplete="false" htmlEscape="true" />
</div>
当然,screen.welcome.label.vcode以及screen.welcome.label.vcode.accesskey需要根据自己需要去WEB-INF/classes/下面的messages_xxxxx.properties修改,一般只需要改中文和英文即可。
3.重写credentials,修改位于WEB-INF下的login-webflow.xml