第三章:到数据库中验证用户名和密码
在上一章中,使用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即可,测试结果:
合法用户:
非法用户: