完整版见https://jadyer.github.io/2015/07/16/sso-cas-server-demo/
/** * @see ------------------------------------------------------------------------------------------------------------------------ * @see CAS(Central Authentication Service) * @see 官网:https://www.apereo.org/projects/cas * @see 源代码:https://github.com/Jasig/cas * @see https://github.com/Jasig/java-cas-client * @see 帮助:https://wiki.jasig.org/display/CASC/CAS+Client+for+Java+3.1 * @see 眼下CAS的Java客户端官方版本号是3.4.0,出于安全考虑应马上升级到该版本号(2015-07-21公布的3.4.0版本号) * @see 注意,自从3.1.11開始,maven2的groupId已经变为org.jasig.cas.client * @see <dependency> * @see <groupId>org.jasig.cas.client</groupId> * @see <artifactId>cas-client-core</artifactId> * @see <version>3.4.0</version> * @see </dependency> * @see ------------------------------------------------------------------------------------------------------------------------ * @see 部署CAS Server * @see 0.这里用到的环境例如以下 * @see jdk-7u80-windows-x64 * @see apache-tomcat-8.0.21 * @see cas-client-core-3.4.0 * @see cas-server-webapp-4.0.3 * @see 1.能够到以下的两个网址下载cas-server-webapp-4.0.3.war,然后公布到Tomcat中 * @see http://central.maven.org/maven2/org/jasig/cas/cas-server-webapp/4.0.3 * @see http://mvnrepository.com/artifact/org.jasig.cas/cas-server-webapp/4.0.3 * @see 2.也能够下载CAS源代码,自己来构建war包(得到的war内容与cas-server-webapp-4.0.3.war是同样的) * @see https://github.com/Jasig/cas/releases中下载最新版4.0.3得到cas-4.0.3.zip,并解压到桌面 * @see C:UsersJadyerDesktopcas-4.0.3>mvn install -DskipTests * @see 在构建最后,会报错以下的错误 * @see Could not transfer artifact net.jradius:jradius-core:pom:1.0.0 from/to coova (http://coova-dev.s3.amazonaws.com/mvn): Software caused connection abort: recv failed * @see 只是没关系,此时我们想要的war已经生成了,它就是cas-4.0.3cas-server-webapp argetcas.war * @see 将cas.war部署到Tomcat,启动后訪问http://127.0.0.1:8080/cas/ * @see 3.登录cas * @see CAS-4.0之前的默认验证规则是仅仅要username和password同样就认证通过 * @see 4.0之后有所改变,其默认usernamepassword为casuser/Mellon,它配置在WEB-INFdeployerConfigContext.xml * @see ------------------------------------------------------------------------------------------------------------------------ * @create 2015-7-16 下午4:27:40 * @author 玄玉<http://blog.csdn.net/jadyer> */
/** * @see ------------------------------------------------------------------------------------------------------------------------ * @see 导入MyEclipse * @see 1.MyEclipse中新建一个Web Project,名字任意,例如说cas-server-web(新建时JavaEE版本号选5.0即可) * @see 2.将Maven构建的cas.war解压,将其内容复制到上一步新建的Web Project中即可 * @see WEB-INFclasses文件夹中的一大推properties文件和log4j.xml复制到src下就能够了 * @see 3.把这个Web Project公布到tomcat,应该看到的是一样的效果 * @see 另外,我们会发现cas.war的WEB-INFclasses中并没有class文件,实际上它是在WEB-INFlibcas-server-*.jar四个jar文件里的 * @see 假设也想把这四个cas-server-*.jar的源代码导入,能够像以下这么做(只是一般没这必要) * @see 1.cas-server-security-filter-2.0.3.jar * @see 它的源代码地址是https://github.com/Jasig/cas-server-security-filter,实际上仅仅有一个java文件 * @see 也能够在这里查到http://mvnrepository.com/artifact/org.jasig.cas/cas-server-security-filter/2.0.3 * @see 2.cas-server-core-4.0.3.jar、cas-server-support-generic-4.0.3.jar、cas-server-webapp-support-4.0.3.jar * @see 这三个jar的源代码就在上一步下载到的cas-4.0.3.zip中,直接拷过来即可了 * @see ------------------------------------------------------------------------------------------------------------------------ * @create 2015-7-16 下午4:28:44 * @author 玄玉<http://blog.csdn.net/jadyer> */
/** * @see ------------------------------------------------------------------------------------------------------------------------ * @see CAS支持HTTP协议的SSO * @see Tomcat默认是没有开启HTTPS协议的,这时訪问http://127.0.0.1:8080/cas/会在页面看到以下的提示 * @see Non-secure Connection * @see You are currently accessing CAS over a non-secure connection. Single Sign On WILL NOT WORK. In order to have single sign on work, you MUST log in over HTTPS. * @see 这段提示是硬编码在\WEB-INF\view\jsp\default\ui\casLoginView.jsp,凝视掉的话就看不到了 * @see 为了使client在HTTP协议下单点成功,能够改动以下两处配置使其不开启HTTPS验证 * @see 1.WEB-INFdeployerConfigContext.xml * @see <bean class="org.jasig...support.HttpBasedServiceCredentialsAuthenticationHandler">加入p:requireSecure="false" * @see 2.WEB-INFspring-configuration icketGrantingTicketCookieGenerator.xml和WEB-INFspring-configurationwarnCookieGenerator.xml * @see p:cookieSecure="true"改为p:cookieSecure="false" * @see ------------------------------------------------------------------------------------------------------------------------ * @create 2015-7-16 下午4:45:31 * @author 玄玉<http://blog.csdn.net/jadyer> */
