14. CAS验证码配置

2019-08-26  本文已影响0人  不知名的蛋挞

现在已经可以利用CAS实现数据库的登录控制以及记住密码的功能,但是依然还会有一个实际的问题:为了防止有可能出现的暴力破解的情况,所以在进行登录之前一定要存在有一个验证码的检测操作。

但是现在的问题是CAS属于第三方项目,不属于自己的项目,所以如果想要实现这样的验证码操作,那么必须扩充已有的程序类才可以完成。

1. 用户名和密码检测类

2. 验证码检测的Action程序类

只依靠验证码服务器校验的程序类无法实现真正的验证码检测,所以还需要创建一个专门用于验证码检测的Action程序类。

3.异常类

4. 将程序打包导出

导出为一个“rand-code.jar”文件

5. 为项目之中追加验证码依赖包:kaptcha-0.0.9.jar、filters-2.0.235.jar

将之前的开发包以及验证码生成的开发包上传到Linux之中,并且将其保存在cas目录之中

mv /srv/ftp/*.jar /usr/local/tomcat/webapps/cas/WEB-INF/lib

6. 修改cas项目中的web.xml文件,追加验证码显示

 <servlet>
        <servlet-name>captchacode</servlet-name>
        <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
        <init-param>
            <description>边框粗细度。必须是一个大于0的值</description>
            <param-name>kaptcha.border.thickness</param-name>
            <param-value>1</param-value>
        </init-param>
        <init-param>
            <description>图片的宽度</description>
            <param-name>kaptcha.image.width</param-name>
            <param-value>140</param-value>
        </init-param>
        <init-param>
            <description>图片的高度</description>
            <param-name>kaptcha.image.height</param-name>
            <param-value>55</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>captchacode</servlet-name>
        <url-pattern>/captchacode</url-pattern>
    </servlet-mapping>
 </servlet>

7 修改“cas/WEB-INF/cas-servlet.xml”配置文件,主要是修改验证操作所使用的程序类

8. 修改“cas/WEB-INF/webflow/login/login_webflow.xml”页面配置文件

9. 增加国际化显示信息:cas/WEB-INF/classes/message_zh_CN.properties

然后转码:

10. 登录页面cas/WEB-INF/view/jsp/default/uicasLoginView.jsp添加验证码输入框

11. 测试

上一篇下一篇

猜你喜欢

热点阅读