Shiro连接数据库进行验证用户名与密码

首先是数据库的创建


Shiro连接数据库进行验证用户名与密码_第1张图片


第二步在maven项目中导入jar包


pom.xml配置如下



  4.0.0
  com.hp.shiro
  Shiro
  0.0.1-SNAPSHOT
  Shiro
  Shiro
  
  
  
  

    org.apache.shiro
    shiro-core
    1.4.0

  

    org.slf4j
    slf4j-log4j12
    1.8.0-beta2
 

  
        commons-logging
        commons-logging
        1.2



    com.mchange
    c3p0
    0.9.5.2



    mysql
    mysql-connector-java
    5.0.4


  


需要注意的是:由于我导入mysql-connector-java的jar包是8.0.11出现了不兼容,连接不上数据库,报了错让我找了好久


下面是创建连接数据库的配置,主要是用c3p0来进行连接


                                        Shiro连接数据库进行验证用户名与密码_第2张图片



   jdbc.ream.ini配置如下


Shiro连接数据库进行验证用户名与密码_第3张图片



[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/db_shiro
dataSource.user=root
dataSource.password=root
jdbcRealm.dataSource=$dataSource
securityManager.realms=$jdbcRealm

接下来写个ShiroDemo.java来测试是否连接上数据库进行验证


package com.hp.hello;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniSecurityManagerFactory;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.util.Factory;

public class ShiroDemo {
	public static void main(String[] args) {
		//读取配置文件  初始化SecurityManager工厂IniSecurityManagerFactory
	
		Factory factory=new IniSecurityManagerFactory("classpath:jdbc_ream.ini");
		//获得SecurityManager实例
		SecurityManager instance = factory.getInstance();
		//把SecurityManager的实例绑定到SecurityUtils上面
		SecurityUtils.setSecurityManager(instance);
		//获取当前执行的用户
		Subject subject = SecurityUtils.getSubject();
		//创建token 令牌  用户名/密码
		UsernamePasswordToken token=new UsernamePasswordToken("zs", "123");
		try{			
			//登录/身份认证
			subject.login(token);
			System.out.println("身份认证成功...");
		}catch(Exception e){
			e.printStackTrace();
			System.out.println("身份认证失败...");
		}
		//退出
		subject.logout();
	}
}


效果图  首先来看看正确的是否连接上


Shiro连接数据库进行验证用户名与密码_第4张图片


输入错误的密码修改如下如图


Shiro连接数据库进行验证用户名与密码_第5张图片


运行如下


Shiro连接数据库进行验证用户名与密码_第6张图片

你可能感兴趣的:(shiro)