http://blog.163.com/tangweibo_good/blog/static/77492409201341031915634/
最近项目要求增加验证码、密码有效期、限制用户登录之类的功能,于是花了三天去看CAS源码和耶鲁的官网User-manual。
一.增加验证码功能
配置:cas\WEB-INF\cas-servlet.xml,handlerMappingC下增加一个属性
<bean
id="handlerMappingC"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property
name="mappings">
<props>
…………
<prop key="/openid/*">openIdProviderController</prop>
<prop key="/captcha.htm">captchaImageCreateController</prop>
</props>
</property>
<property
name="alwaysUseFullPath" value="true" />
</bean>
<bean id="captchaErrorCountAction" class="com.ist.cas.CaptchaErrorCountAction"/>
<bean id="captchaValidateAction" class="com.ist.cas.CaptchaValidateAction"
p:captchaService-ref="jcaptchaService"
p:captchaValidationParameter="j_captcha_response"/>
<bean id="captchaImageCreateController" class="com.ist.cas.CaptchaImageCreateController">
<property name="jcaptchaService" ref="jcaptchaService"/>
</bean>
<bean id="fastHashMapCaptchaStore" class="com.octo.captcha.service.captchastore.FastHashMapCaptchaStore" />
<bean id="jcaptchaService" class="com.octo.captcha.service.image.DefaultManageableImageCaptchaService">
<constructor-arg type="com.octo.captcha.service.captchastore.CaptchaStore" index="0">
<ref bean="fastHashMapCaptchaStore"/>
</constructor-arg>
<constructor-arg type="com.octo.captcha.engine.CaptchaEngine" index="1">
<bean class="com.ist.cas.JCaptchaEngineEx"/>
</constructor-arg>
<constructor-arg index="2">
<value>180</value>
</constructor-arg>
<constructor-arg index="3">
<value>100000</value>
</constructor-arg>
<constructor-arg index="4">
<value>75000</value>
</constructor-arg>
</bean>
<servlet-mapping>
<servlet-name>cas</servlet-name>