1.生成证书并导入JDK
首先在C盘下建一个cas文件夹(放在哪个盘大家根据自己的情况而定),在此文件夹中生成证书文件。
在cas文件夹中打开命令输入窗口并输入指令,如下图所示
此命令用于在当前目录下新建别名为:server,执行完命令cas文件夹会多一个server.keystore文件。
接下来就是到处服务器端证书
然后就是导入服务器证书
最后就是将证书导入jdk中去
这个路径根据自己安装的jdk位置来配置,并找到security文件夹,
D:\Program Files\Java\jdk1.7.0_45\jre\lib\security,然后在security后面加上“/cacerts” 输入的口令就是changeit 这个密码是默认的。
最后就是检验cas的服务器证书是否正确安装
此时已经安装好cas证书了。
2.cas构建与部署
下载cas的源码
我使用的是cas-server-3.5.2-release
接着就是修改配置
1.编辑cas-server-webapp/src/main/webapp/WEB-INF下面的deployerConfigContext.xml文件。
2.注释原有用户名与认证类:
<bean classs="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
代替为
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
p:sql="select password from cas_user where name=? "
p:dataSource-ref="dataSource" />
3.配置数据源
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/cas"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
注意这个bean与id为authenticationManager的bean是同一级。
当然你得新建数据库名为cas 并新建一个cas_user表 其中字段名分别为 name,password,字段名与QueryDatabaseAuthenticationHander中的sql语句中的字段名相同即可。
4.添加两个依赖
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.8</version>
</dependency>
5.构建该项目
打开cmd进入cas源代码根目录,运行构建命令:
mvn install -DskipTests
构建完成后,在cas-server-webapp会生成一个target文件夹,然后将target文件夹中的cas.war拷贝到tomcat的webapp文件夹中。
3 tomcat配置
打开tomcat的conf目录server.xml配置文件,将下面配置的注释去掉,修改protocol,并加上有关证书的文件及密码。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:/cas/server.keystore"
keystorePass="changeit" />
到这里就配置完成了,启动tomcat,即双击startup.bat。
通过浏览器访问https://localhost:8443/cas即可访问服务。出现以下图就说明你已经配置成功了
然后输入你数据库中对应的name和password即可登录成功。