参考了 dinguangx 写的6篇文章:
(这里只是引用了 dinguangx 的文章链接,希望不会造成侵权)
这里使用的数据库是 oracle 10g2
在第四篇文章中,新建的maven工程,使用的maven见附件 apache-maven-3.0.4.rar
使用的开发工具是 eclipse-jee-indigo-SR2-win32
需要安装eclipse 的 maven 插件
eclipse中,maven的配置如下:
都按文章中配好之后,需要将maven工程转成web工程:
右键工程名,选择properties,找到 project facets,单击 Convert to faceted Form...
如下图所示,勾选 Dynamic Web Module 和 JavaScript, 我用的是 tomcat 6 的,所以 Dynamic Web Module
选择的是 2.4
点击 Further configuration available..
在弹出的窗口中,将Content directory 的值改成项目中 webroot 的名称,我这里项目跟目录是 webapp
在第六篇文章中,insert 表数据的时候,使用了函数 md5(str),由于oracle并没有这个函数,所以在 insert
语句中的密码需使用 cas 包中的 DefaultPasswordEncoder 进行加密,代码如下:
junit 4
import org.jasig.cas.authentication.handler.DefaultPasswordEncoder; import org.junit.Test; public class Test1 { @Test public void encode() { String password= "dylan"; System.out.println(new DefaultPasswordEncoder("MD5").encode(password)); } }
创建表:
CREATE TABLE t_user ( u_id VARCHAR2(36) PRIMARY KEY, u_name VARCHAR2(20) NOT NULL, pwd VARCHAR2(50) NOT NULL );
插入数据:
INSERT INTO t_user VALUES(sys_guid(),'dylan','4f97319b308ed6bd3f0c195c176bbd77'); INSERT INTO t_user VALUES(sys_guid(),'admin','21232f297a57a5a743894a0e4a801fc3'); COMMIT;
退出登录 Filter
package cas.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class LogoutFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) req; String user = getCurrentUser(httpRequest); if (null != user) { String loginName = (String) httpRequest.getSession().getAttribute( "User_Info"); httpRequest.getSession().removeAttribute("User_Info"); user = null; System.out.println("用户'"+loginName+"'退出系统."); } chain.doFilter(req, resp); } @Override public void init(FilterConfig arg0) throws ServletException { } private String getCurrentUser(HttpServletRequest request) { return (String) request.getSession().getAttribute("User_Info"); } }
2个工程 都需要加这个 Filter
cas-server 、cas-client1、cas-client2 分别发布在3个不同的tomcat中,记得修改tomcat的端口
cas-client1、cas-client2 的代码见附件 cas-client1.rar、cas-client2.rar
cas-server 修改后见附件 cas.rar (由于iteye对上传附件大小有限制,这里就不上传jar包了)
相关推荐
代码来源与编写你自己的单点登录,重新整理了博主的源码。
dn_asset:龙之谷资源相关的代码整理
之前做.net开发,接触java一个多月了,这两天实践了一下ssh框架是怎么搭建的,借鉴了一些网上的博文,但在实际过程中,遇到很多问题,,苦于没有源代码...最终实现了功能,特此整理一份源代码供和我一样的初学者学习.
java核心知识点整理 1.Java中没有多继承,而是用接口来代替多继承 2.运行一个已经编译的程序时,Java解释器总是从指定类的main方法中的代码开始执行,因此,执行代码中必须有一个main函数。 3.Java是典型的强类型...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
移动机器人项目组任务安排表 Day 01 上午 1.gmapping参数配置(李超) 2.总体launch文件的编写(钟浩) 3.机器人tf,状态,滤波器launch文件的编写(李博) 4.移动机器人调试(李超,...1.完成代码整理,说明文档撰写。
自己学习Java面向对象时对知识点的整理总结,主要包括:一些关键字、权限修饰符的使用、重载、构造器、代码块、内部类、封装、继承、多态、抽象、javabean、单元测试、包装类Object类、设计模式的理解与总结。...
TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转ASC(替换掉原来的文件)。 doyouhikeList 磨房报名人员ID格式化后发悄悄话 20110729 1856.7z 磨房报名人员ID格式化后发...
说明:此文件是日常工作搜索整理的,便于日常解决问题,大概50小点的样子 蓝凌JS 常用功能 1:判断表单多值属性 (复选框/下拉菜单) 是否选了某个选顶 2:获取员工编号 3:获取所属机构 4:获取组织架构全路径,以/为分割...
JAVA重要知识点整理 Java 是一种广泛使用的高级编程语言,由 Sun Microsystems 公司开发,现在由 Oracle 公司维护。Java 的主要特点是平台独立性、对象oriented 和安全性。下面我们将从 JVM、线程、内存区域、垃圾...
需要注意的是,这种全本浏览的方式,也可能是整理的方式,也是我所需要的,就是能够对自己所掌握的知识进行一个系统的整理,这个目前不去实现。 如果简化成为这样一个状态,perCDM不但可以搜索代码,而且可以同时搜索...
27 标记整理算法(Mark-Compact).................................................................................................. 28 分代收集算法 ..........................................................
Python知识点整理 Python知识点整理是对Python编程语言的基础知识的归纳和总结。本文档将Python知识点分为七个部分:算法、变量、数据类型、赋值运算、数值运算、字符串运算、布尔型数据的运算、函数和语句。 一、...
单标签只有一个组成,例如:` `,双标签由开始标签和结束标签组成,例如:`标题</h1>`。 * HTML 文档的声明:`<!DOCTYPE HTML>`,用于声明 HTML 文档的类型。 * HTML 中的标签可以分为两种:行内标签和块级标签...
单片机知识点整理 单片机是微型计算机系统,它在一片半导体芯片上集成了中央处理单元(CPU)、存储器(RAM 数据、ROM 程序)、串、并行口、定时器/计数器、中断系统、系统时钟电路及系统总线等组件。单片机广泛应用...
android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台