cas + tomcat 访问数据库验证用户名密码学习笔记(二)

    在上一篇文章中我们已经搭建好了一个简单的cas服务端,该服务端并未访问数据库进行用户名和密码验证,而是在配置文件中规定的用户名和密码,大家在配置的cas服务器的D:\apache-tomcat-6.0.29\webapps\cas\WEB-INF路径下找到文件deployerConfigContext.xml打开如下图所示:

    

      在图中可以看到规定的用户名和密码:casuser/Mellon(老版本的可能不一样,这里用的是cas server 4.0),在项目中我们肯定是要访问数据库进行用户名和密码的验证的,显而易见我们要更改这个文件的配置。首先,我们要把上图中这段代码注释掉,然后换成如下代码:

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
              <property name="driverClassName">
                 <value>oracle.jdbc.driver.OracleDriver</value>
              </property>
              <property name="url">
                 <value>jdbc:oracle:thin:@192.168.0.xxx:1521:orclgbk</value>
              </property>
              <property name="username">
                 <value>spjx2</value>
              </property>
              <property name="password">
                 <value>xxx</value>
              </property>
</bean>
<bean id="primaryAuthenticationHandler"
					class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
					<property name="sql"
						value="select password from sys_user where 1=1 and username=? and flag=1" />
					<property name="dataSource" ref="dataSource" />
				</bean>
       从以上代码可以看出我用的是oracle数据库,你可以选择使用自己适合的数据库(这里省略了创建数据库和建表的操作),在id="dataSource" 的bean中看到需要引入数据库驱动、url、用户名、密码,id="primaryAuthenticationHandler"的bean是用来链接数据库并验证用户名和密码,有关“org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler”的解释请到这篇“ 使用 CAS 在 Tomcat 中实现单点登录”文章中看,里边有详细的解释。

      另外,一般数据库中的密码都是经过加密的,我这里测试的是没有加密的,如果经过了MD5加密,就要增加如下配置:

<bean id="MD5PasswordEncoder"
		class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
		<constructor-arg index="0" value="MD5" />
	</bean>

同时修改

    

<bean id="primaryAuthenticationHandler"
					class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
					<property name="sql"
						value="select password from sys_user where 1=1 and username=? and flag=1" />
					<property name="dataSource" ref="dataSource" />
					<property name="passwordEncoder" ref="MD5PasswordEncoder" />
				</bean>

      然后,我们只需要从我门下载的cas-server-4.0.0-release.zip,解压后在cas-server-4.0.0\modules路径下的cas-server-support-jdbc-4.0.0.jar包复制到cas服务器的apache-tomcat-6.0.29\webapps\cas\WEB-INF\lib中,然后不要忘了导入数据库驱动包,我这里用的是oracle,导入了ojdbc6.jar包。

   到此,我们的配置就结束了,现在重启服务器,在浏览器中输入路径:http://localhost:8080/examples/servlets/servlet/HelloWorldExample,进入登录页面,输入数据库中存在的用户名和密码,如下图:


点击登录跳转到了如下页面:



到了这个页面说明我们已经成功了,另外,从后台服务器打印中可以看出服务器访问了数据库进行了,用户名和密码的验证,如下图:


我随意输入一个错误的用户名和密码可以看到如下的验证失败的打印信息:



<think>好的,用户想了解Tomcat的默认管理密码以及修改方法。首先,我需要回忆一下Tomcat的默认配置。记得Tomcat安装后,默认的管理员账户和密码通常是在conf/tomcat-users.xml文件中设置的,但初始情况下这个文件里可能没有配置用户,所以需要手动添加。 接下来,根据用户提供的引用内容,引用[3]和引用[4]都提到了在tomcat-users.xml中添加用户和角色。例如,引用[3]中的代码片段展示了如何配置不同角色的用户,而引用[4]则给出了具体的角色名称和用户配置。这说明用户需要编辑这个文件,添加相应的角色和用户信息,并设置密码。 用户可能遇到的问题是无法登录管理界面,这可能是因为没有正确配置角色。比如,manager-gui和admin-gui是常用的角色,分别对应不同的管理界面权限。引用[2]提到用户遇到密码错误的问题,后来通过查找资料解决了,这可能是因为密码没有正确设置或者角色分配不正确。 另外,默认情况下Tomcat可能没有启用管理员账户,所以用户需要手动配置。引用[1]和引用[4]都指出配置管理员用户名密码的步骤,包括修改tomcat-users.xml文件,并重启Tomcat服务使配置生效。 需要注意的是,不同Tomcat版本可能在角色名称或配置方式上有细微差别,比如Tomcat 7和Tomcat 10的角色名称可能不同。用户需要根据自己使用的版本来调整角色名称,例如引用[4]中的Tomcat/10.0.20使用了admin-gui和manager-gui等角色。 总结来说,用户需要做的是:找到tomcat-users.xml文件,添加正确的角色和用户信息,设置密码,然后重启Tomcat。同时,要确保使用的角色名称与Tomcat版本兼容,避免因角色名称错误导致权限问题。</think>### Tomcat默认管理密码设置及修改方法 Tomcat服务器的默认管理员密码需要通过配置文件手动设置,初始安装后**默认未配置任何有效账户**。以下是详细步骤: #### 一、定位配置文件 1. 打开Tomcat安装目录下的`conf/tomcat-users.xml`文件 (路径示例:`/usr/local/tomcat/conf/tomcat-users.xml`) #### 、添加管理员账户 2. 在`<tomcat-users>`标签内插入以下内容(以Tomcat 10.0.20为例): ```xml <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="admin" password="admin123" roles="admin-gui,manager-gui"/> ``` *注意:Tomcat 7需要将`admin-gui`改为`manager-gui`[^4]* #### 三、重启Tomcat服务 3. 执行重启命令(Linux示例): ```bash ./catalina.sh stop && ./catalina.sh start ``` #### 四、验证登录 4. 访问管理界面: - 控制台地址:`http://localhost:8080/manager/html` - 输入设置的用户名密码(示例中为`admin/admin123`) ### 常见问题解决 - **401未授权错误**:检查角色名称是否正确,Tomcat 10必须使用`admin-gui`而非旧版`manager-gui` - **密码不生效**:确认修改后已重启服务,XML格式无错误[^2] - **忘记密码**:直接修改`tomcat-users.xml`文件重置密码 ### 安全建议 1. 避免使用默认密码`tomcat`[^3] 2. 定期更新密码 3. 非必要不开启管理界面外网访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值