cas-简单的验证cas服务器登录和读取数据库账号密码登录

环境win8+tomcat7+jdk7+cas-server-4.0.0-release

1. 首先到 http://downloads.jasig.org/ 地址下载 cas-server-4.0.0-release.zip,解压后到modules目录中找到cas-server-webapp-4.0.0.war,复制到tomcat的webapp目录下,修改名称为cas.war

2. (1)创建证书

keytool -genkey -alias mycas -keyalg RSA -keysize 2048 -keystore E:/cas/keys/mycas.keystore

(2)导出证书
   keytool -export -file E:/cas/keys/mycas.crt -alias mycas -keystore  E:/cas/keys/mycas.keystore

(3)客户端JVM导入证书

keytool -import -keystore E:\java\jdk1.7.0_79\jre\lib\security\cacerts -file E:/cas/keys/mycas.crt -alias mycas

如果提示: 
  keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect 
  那么输入密码:changeit 
  这是因为JDK安装后会默认创建一个密钥库,密码为:changeit
  也可以删除E:\java\jdk1.7.0_79\jre\lib\security\cacerts 在输入上述命令

3. 让tomcat使用证书

打开tomcat目录的conf/server.xml文件,8443端处,并设置keystoreFile、keystorePass修改结果如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
	maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
	clientAuth="false" sslProtocol="TLS"
	keystoreFile="E:\cas\keys\mycas.keystore"
	keystorePass="123456" />

  

4. 登录cas

启动tomcat之后再webapp中的cas.war自动解压,我们可以直接访问https://localhost:8443/cas/login, cas4.0 默认账号密码是casuser/Mellon

5. 读取数据库进行认证

需要的jar包有cas-server-support-jdbc.jar  c3p0-0.9.1.2.jar  mysql-connector-java-5.1.24  ,我这里是mysq 其他数据库根据情况整理jar包,放入到webapps\cas\WEB-INF\lib 。之后在cas\WEB-INF下找到deployerConfigContext.xml进行修改:

  (1)首先注释掉默认的登录账号密码:

<!-- <bean id="primaryAuthenticationHandler" class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
		<property name="users"> <map> <entry key="casuser" value="Mellon"/> </map>
		</property> </bean> -->

  (2)注释之后,添加jdbc配置,这里为了方便没有采用加密:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
		p:driverClass="com.mysql.jdbc.Driver"
		p:jdbcUrl="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"
		p:user="root" p:password="root" />

	<bean id="dbAuthHandler"
		class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
		<property name="sql" value="select password from user where username=?" />
		<property name="dataSource" ref="dataSource" />
	</bean>

  再找到id=authenticationManager的bean,注释掉primaryAuthenticationHandler,并添加dbAuthHandler:

<!-- <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver"
					/> -->
				<entry key-ref="dbAuthHandler" value-ref="primaryPrincipalResolver" />

  之后重启tomcat 进行验证,登录https://localhost:8443/cas/login进行验证

时间: 2024-08-07 23:14:14

cas-简单的验证cas服务器登录和读取数据库账号密码登录的相关文章

CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

密钥登录步骤(免密码登录)ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步: 1.生成密钥(公钥与私钥): 2.放置公钥到服务器~/.ssh/authorized_key文件中: 3.配置ssh客户端使用密钥登录.--------------------- 一.通过ssh-keygen命令生成密钥对,密钥类型为RSA,也可以通过其他软件生产密钥对

Debian9.5下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

密钥登录步骤(免密码登录)ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步: 1.生成密钥(公钥与私钥): 2.放置公钥到服务器~/.ssh/authorized_key文件中: 3.配置ssh客户端使用密钥登录.--------------------- 一.通过ssh-keygen命令生成密钥对,密钥类型为RSA,也可以通过其他软件生产密钥对

中国地质大学(北京)Linux深度学习服务器终端校园网关账号密码登录问题——以ubuntu14.04server版本为例

学院于2017年12月29日采购一台深度学习服务器,操作系统为ubuntu14.04server,配置过程遇到各种坑,现就服务器终端命令行网络配置过程心得分享如下: 1.申请固定IP地址 开始尝试从教学楼路由器接一根网线到服务器上,设置好后能访问外网,但是IP地址访问不能覆盖整个校园内网,仅与此路由器相连的电脑可以ip访问.这是由于路由器分配的是192.168.1.1的小局域ip,需要拿着有效证件以及服务器mac地址(通过ifconfig可查看)到网络管理中心申请校园内网固定IP地址. 2.设置

openvpn部署账号密码登录

1.开启服务器端路由转发功能: 修改配置文件/etc/sysctl.conf中 net.ipv4.ip_forward = 0 改为 net.ipv4.ip_forward = 1 [[email protected] ~]# sysctl -p #重读配置文件 2.设置nat转发; iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERAD #转发内网192.168.1.0网段地址到eth0出口,MASQUERAD

登录时本地保存账号密码的方法

对于登录时保存用户名和密码,苹果官方使用的是KeychainItemWrapper,但使用时有些不便,如在引入KeychainItemWrapper的类中都要关闭arc,不能自定义key,必须使用该类提供的kSecValueData.kSecAttrAccount等.所以推荐使用第三方类库——SSkeychain,地址在 https://github.com/samsoffes/sskeychain/ 它的优点如下:①无需手动关闭arc,它会自动判断并运行在arc和非arc环境中②能存储多组账号

JSP-模拟银行卡账号密码登录页面跳转

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <

Demon_游戏登录界面(具备账号密码输入功能)

using UnityEngine; using System.Collections; using UnityEngine.UI;// public class LoginButton : MonoBehaviour { //正确的用户名密码 public string uname = "wasd"; public string pwd = "123"; //用户名输入框 public InputField unameInput; //密码输入框 public I

centos6.5中部署Zeppelin并配置账号密码验证

centos6.5中部署Zeppelin并配置账号密码验证1.安装JavaZeppelin支持的操作系统如下图所示.在安装Zeppelin之前,你需要在部署的服务器上安装Oracle JDK 1.7或以上版本, 并配置好相应的JAVA_HOME环境变量.以CentOS为例,具体操作过程如下: a)下载并安装jdk-8u111-linux-x64.rpm # rpm -ivh jdk-8u111-linux-x64.rpm b)配置环境变量.在/etc/profile文件结尾添加: export

ssh远程登录原理以及putty免密码验证登录服务器

作为一名运维人员登录服务器这个动作,比我们吃饭喝水的频率要来得高.一般来说没人整天在机房管理着公司服务器的吧,机房这个地方为了咱们的健康生活能少呆还是尽量少呆吧,毕竟辐射这东西是积累伤. 我们通常是通过终端远程控制服务器进行着管理工作,早先的终端是通过telnet协议传输来完成远程登录的.可是telnet协议在网上是明文传输的,随便在数据包经过的地方装个抓包工具一抓就能够获取到你服务器的账号密码.现在搞网络安全测评的评估的一条重要标准就是看你网络设备跟服务器里面的telnet服务关掉没. 为了解