使用maven构建quik-start工程。如下的工程结构。
在AppTest中创建代码,如下所示。
@Test
public void testShrio(){
//创建工厂对象
Factory<SecurityManager> factory= new IniSecurityManagerFactory("classpath:shiro.ini");
SecurityManager securityManager=factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
//创建登陆主体subject
Subject subject=SecurityUtils.getSubject();
//绑定主体
UsernamePasswordToken token=new UsernamePasswordToken("zhangsan","123456");
//主体登陆
try {
subject.login(token);
}catch (AuthenticationException e){
System.out.println(e.fillInStackTrace());
}
System.out.println("登陆是否成功了:"+String.valueOf(subject.isAuthenticated()));
//退出
subject.logout();
}
配置ini文件,如下。
[users]
zhangsan=123456
lisi=654321
配置pom.xml文件。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</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>
注意配置ini文件。搜索Ini4idea,如下图所示。