1、新建 java Project 。导入相关jar包如下lib中
2、新建2个配置文件:log4j.properties 和 shiro-first.ini
1)
log4j.properties中添加内容如下:
log4j.rootLogger=debug,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m %n
2)
shiro-first.ini中添加内容如下【第一个测试配置文件】:
#对用户信息进行配置
[users]
#用户名和密码
zhangsan=111111
lisi=222222
3、添加测试程序类:
AuthenticationTest
}
public class AuthenticationTest {
/**
* 用户登录和退出
* 用户名和密码都放在shiro-first.ini文件中,不实用
*/
@Test
public void testLoginAndLogout(){
//创建securityManager工厂,通过ini配置文件创建securityManager工厂
Factory<SecurityManager> factory=new IniSecurityManagerFactory("classpath:shiro-first.ini");
//创建SecurityManager
SecurityManager securityManager=factory.getInstance();
//将securityManager设置到当前的运行环境中
SecurityUtils.setSecurityManager(securityManager);;
//从SecurityUtils里边创建一个subject
Subject subject=SecurityUtils.getSubject();
//在认证提交前准备token(令牌)
UsernamePasswordToken token = new UsernamePasswordToken("zhangsan", "111111");
try {
//执行认证提交
subject.login(token);
} catch (Exception e) {
// TODO: handle exception
}
//是否认证通过
boolean isAuthenticated=subject.isAuthenticated();
System.out.println("是否认证通过:"+isAuthenticated);
//退出操作
subject.logout();
isAuthenticated=subject.isAuthenticated();
System.out.println("是否认证通过:"+isAuthenticated);
}