第三章:到数据库中验证用户名和密码

  在上一章中,使用shiro.ini进行静态的数据验证模拟,这一章将到数据库中验证

工程结构:

   

 

一、拷贝Shiro01工程, 改名为Shiro02

二、在src/main/resources下创建jdbc_realm.ini, 作如下配置,[main]固定写法

[main]
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm

三、导入c3p0和commons-logging的jar包, 引入mysql的驱动包, 修改pom.xml

<!-- 引入c3p0数据源 -->
		<dependency>
			<groupId>c3p0</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.1.2</version>
		</dependency>

		<!-- 公共日志 -->
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.2</version>
		</dependency>

		<!-- 引入mysql的数据库驱动包 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.37</version>
		</dependency>

四、修改jdbc_realm.ini, 添加Mysql数据库驱动包的配置

[main]
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
dataSource = com.mchange.v2.c3p0.ComboPooledDataSource
dataSource.driverClass = com.mysql.jdbc.Driver
dataSource.jdbcUrl = jdbc:mysql://localhost:3306/shiro
dataSource.user = root
dataSource.password = 123456
jdbcRealm.dataSource = $dataSource
securityManager.realms = $jdbcRealm

五、数据库shiro, 表users

    

六、测试代码同第二章的shiro01,把配置文件换成jdbc_realm.ini即可,测试结果:

合法用户:

    

非法用户:

        

 

 

 

 

  

 

posted @ 2017-05-06 00:29  半生戎马,共话桑麻、  阅读(239)  评论(0)    收藏  举报
levels of contents