频道栏目
首页 > 资讯 > Java > 正文

shiro连接mysql数据库实例

17-11-15        来源:[db:作者]  
收藏   我要投稿

数据库表名一定是users,账户和密码一定是 username 和 password

maven

    
      
      junit  
          junit  
          4.12  
          test  
      
      
         org.apache.shiro  
         shiro-core  
         1.2.4  
      
      
        org.slf4j  
        slf4j-log4j12  
        1.7.12  
       
      
        log4j  
        log4j  
        1.2.17  
     
    
    
      
        c3p0  
        c3p0  
        0.9.1.2  
      
      
        commons-logging  
        commons-logging  
        1.2  
      
      
        mysql  
        mysql-connector-java  
        5.1.37  
      
    

shiro.ini

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

java

package shiro;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.Ini;
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) {
        // 初始化SecurityFactory工厂  
        Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini");  
        // 获取SessionFactory实例  
        SecurityManager securityManager = factory.getInstance();  
        // 把SecurityManager实例绑定到SecurityUtils  
        SecurityUtils.setSecurityManager(securityManager);  
        // 获得当前执行的用户  
        Subject currentUser = SecurityUtils.getSubject();  
        // 创建token令牌,用户名/密码  
        UsernamePasswordToken token = new UsernamePasswordToken("111",  
                "222");  
        try {  
            //身份认证  
            currentUser.login(token);  
            System.out.println("身份认证成功!");  
        } catch (AuthenticationException e) {  
            e.printStackTrace();  
            System.out.println("身份认证失败!");  
        }  
    }
}
相关TAG标签
上一篇:C语言开发教程_结构体、结构体指针、tyepdef、union、enum
下一篇:myEclipse更改搭建网站名称方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站