shiro 学习日记1

来源:互联网 发布:电脑音乐剪辑软件 编辑:程序博客网 时间:2024/04/30 20:44
import junit.framework.Assert;import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.UsernamePasswordToken;import org.apache.shiro.config.IniSecurityManagerFactory;import org.apache.shiro.mgt.SecurityManager;import org.apache.shiro.subject.Subject;import org.apache.shiro.util.Factory;import org.junit.Test;/** * Created by qi on 2017-11-29. */public class LoginTest {    @Test    public void test(){        //获取SecurityManager工厂,使用ini配置文件初始化SecurityManager        Factory<SecurityManager> factory=new IniSecurityManagerFactory("classpath:shiro.ini");       //实例securityMaager。        SecurityManager securityManager=factory.getInstance();       //绑定给securityUtils        SecurityUtils.setSecurityManager(securityManager);        //得到subject        Subject subject= SecurityUtils.getSubject();        //创建用户名/密码身份Token        UsernamePasswordToken token=new UsernamePasswordToken("zhang","123");        try {            //用户登录,抛异常即登录失败            subject.login(token);        }catch (AuthenticationException e){            System.out.println("验证身份失败");        }        //断言用户已经登陆了        Assert.assertEquals(true,subject.isAuthenticated());        //退出登录        subject.logout();    }

}

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

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.lq</groupId>  <artifactId>shiroDemo</artifactId>  <packaging>war</packaging>  <version>1.0-SNAPSHOT</version>  <name>shiroDemo Maven Webapp</name>  <url>http://maven.apache.org</url>  <dependencies>    <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>    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-nop</artifactId>      <version>1.7.25</version>      <scope>test</scope>    </dependency>  </dependencies>  <build>    <finalName>shiroDemo</finalName>  </build></project>
=============================================

shiro.ini

[users]zhang=123wang=123



原创粉丝点击