一、搭建shiro环境
<!--junit测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency>
<!--commonslogin必备jar--> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency>
<!--shiro相关依赖--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.2.1</version> </dependency>
二、简单的登录验证
//第一步得到securityManager工厂 Factory<SecurityManager> factory= new IniSecurityManagerFactory("classpath:shiro.ini"); //第二步得到SecurityManager SecurityManager securityManager=factory.getInstance(); //第三步设置securityManager进入securitiUtil SecurityUtils.setSecurityManager(securityManager); //第四步得到securitySubject Subject subject=SecurityUtils.getSubject(); //第五步获得登录的用户名和密码 UsernamePasswordToken usernamePasswordToken=new UsernamePasswordToken("zhang","123"); //登录验证 try{
subject.login(usernamePasswordToken); System.out.println("登录成功"); }catch (AuthenticationException e){
System.out.println(e.getMessage()); System.out.println("登录失败"); }
Assert.assertEquals(true,subject.isAuthenticated()); subject.logout();
三、shiro.ini
[users] zt=crazy haha=heihei