您的位置:首页 > 运维架构 > Apache

Apache shiro 简单入门

2014-12-25 10:08 447 查看
一.创建maven环境

pom.xml文件加入

<span style="white-space:pre">	</span><dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.2.2</version>
</dependency>


二.在src/main/resources 目录下添加shiro.ini文件

文件内容如下:

[users]

zhang=123

wang=123

三.测试用例

@Test
public void ss(){
//1、获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager
Factory<org.apache.shiro.mgt.SecurityManager> factory = null;
try{
factory =
new IniSecurityManagerFactory("classpath:shiro.ini");
}catch(Exception e){
e.getMessage();
}
//2、得到SecurityManager实例并绑定给SecurityUtils
org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
//3、得到Subject及创建用户名/密码身份验证Token(即用户身份/凭证)
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123");
try {
//4、登录,即身份验证
subject.login(token);
System.out.println("登陆成功");
} catch (AuthenticationException e) {
System.out.println("登陆失败");
}
Assert.assertEquals(true, subject.isAuthenticated()); //断言用户已经登录
//6、退出
subject.logout();
}


四.测试

控制台打印:登陆成功

如果修改

new UsernamePasswordToken("zhang", "123");


则打印:登陆失败

====================================================================================================================================

Apache shiro 官方API文档地址:http://shiro.apache.org/static/1.2.3/apidocs/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: