shiro认证入门程序

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);
    }
}

你可能感兴趣的:(shiro)