Shiro Jdbcrealm
来源:互联网 发布:韩顺平java水平如何 编辑:程序博客网 时间:2024/06/05 09:14
shiro 连接数据路
项目架构
1.建立pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.java.shiro</groupId>
<artifactId>shiro02</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
<!-- 数据源 -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- apacth奇日志依赖 -->
<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>
</dependencies>
</project>
2.建立jdbc_realm.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/test
dataSource.user=root
dataSource.password=root
jdbcRealm.dataSource=$dataSource
securityManager.realms=$jdbcRealm
3.建立测试类JdbcRealmTest
package com.java.shiro;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
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 JdbcRealmTest {
public static void main(String[] args) {
// 读取配置文件,初始化SecurityManager工厂
Factory<SecurityManager> factory=new IniSecurityManagerFactory("classpath:jdbc_realm.ini");
// 获取securityManager实例
SecurityManager securityManager=factory.getInstance();
// 把securityManager实例绑定到SecurityUtils
SecurityUtils.setSecurityManager(securityManager);
// 得到当前执行的用户
Subject currentUser=SecurityUtils.getSubject();
// 创建token令牌,用户名/密码
UsernamePasswordToken token=new UsernamePasswordToken("zhangsan", "123456");
try{
// 身份认证
currentUser.login(token);
System.out.println("身份认证成功!");
}catch(AuthenticationException e){
e.printStackTrace();
System.out.println("身份认证失败!");
}
// 退出
currentUser.logout();
}
}
4.运行
run As -->java Application
- shiro jdbcRealm
- Shiro Jdbcrealm
- Shiro学习之JdbcRealm
- shiro与spring整合直接使用jdbcRealm
- Shiro 学习笔记(2)—— JdbcRealm
- shiro.ini文件之mysql/sql server的jdbcrealm配置
- Shiro中使用jdbcRealm的ini文件配置出错
- jdbcrealm的使用
- jdbcRealm中加密身份验证
- Tomcat中JDBCRealm的配置
- shiro
- shiro
- Shiro
- shiro
- shiro
- shiro
- shiro
- Shiro
- 随机森林(Random Forest)(二)
- Coursera自然语言处理 Week4 笔记
- css行高line-height的一些深入理解及应用
- 登录 SQLPLUS
- 總結——關於2017 10 11測試的分析總結
- Shiro Jdbcrealm
- VMware虚拟机磁盘文件vmdk单文件转多文件相互转换
- Android Tab导航
- 论文投稿
- 【LeetCode算法练习(C++)】Generate Parentheses
- LoRa无线技术
- 内部类
- IO模型及select、poll、epoll和kqueue的区别
- hdu1058 Humble Numbers【优先队列】