Shiro HelloWorld (二)从数据库中获得数据
2015-12-30 15:30
411 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1、创建users表,插入一条记录</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">2、工程结构如下:</span>
表:
3、pom.xml
<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.13</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency>
4、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/zqd dataSource.user=root dataSource.password=root jdbcRealm.dataSource=$dataSource securityManager.realms=$jdbcRealm
5、JdbcRealmTest.java
package com.trekiz.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工厂,此处使用Ini配置文件初始化SecurityManager Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:jdbc_realm.ini"); //获得SecurityManager实例 SecurityManager securityManager =factory.getInstance(); //绑定给SecurityUtils SecurityUtils.setSecurityManager(securityManager); //得到Subject及创建用户名/密码身份验证Token(即用户身份/凭证) Subject currentUser = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken("zhang", "12456"); try{ currentUser.login(token); System.out.println("Succeed!"); }catch(AuthenticationException e){ e.printStackTrace(); System.out.println("fail"); } currentUser.logout(); } }
相关文章推荐
- mysql客户端操作 简数据库建立
- mysql-MySql优化的一般步骤
- Oracle中的日期
- Redis+twemproxy(nutcracker)实现Redis多集群方案
- MYSQL-- 每半月一个分区,自动维护
- redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
- 去掉数据库中date类型的日期数据导出到Excel后多余的 0:00:00
- mssql 返回表的创建语句
- 数据库
- oracle 任务计划运行带参数的procedure
- ORA-01843: 无效的月份 ORACLE导入报错
- Mysql声明变量以及赋值
- ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xxx' (111)
- Redis学习集锦
- oracle数据库中导入Excel表格中的数据
- Oracle
- amoeba针对MySQL单机多实例配置文件注释
- 数据库索引
- 例题5-9 UVA 1592 Database数据库
- sql Server超过了每行的最大字节数(8060)的原因和解决办法