From d7bddaee3bbe20463061315c4584649596a30c60 Mon Sep 17 00:00:00 2001 From: lixiangrong Date: Tue, 26 Jan 2016 16:51:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0shiro=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 11 +++++++ .../osc/git/eh3/shiro/LoginLogoutTest.java | 33 +++++++++++++++++++ src/main/java/osc/git/test/Test.java | 8 ----- src/main/resources/shiro.ini | 3 ++ 4 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 src/main/java/osc/git/eh3/shiro/LoginLogoutTest.java delete mode 100644 src/main/java/osc/git/test/Test.java create mode 100644 src/main/resources/shiro.ini diff --git a/pom.xml b/pom.xml index 116152f..25b4d33 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,7 @@ 0.0.1-SNAPSHOT useful-code Maven Webapp http://maven.apache.org + junit @@ -14,6 +15,16 @@ 4.11 test + + commons-logging + commons-logging + 1.1.3 + + + org.apache.shiro + shiro-core + 1.2.2 + useful-code diff --git a/src/main/java/osc/git/eh3/shiro/LoginLogoutTest.java b/src/main/java/osc/git/eh3/shiro/LoginLogoutTest.java new file mode 100644 index 0000000..63e992d --- /dev/null +++ b/src/main/java/osc/git/eh3/shiro/LoginLogoutTest.java @@ -0,0 +1,33 @@ +package osc.git.eh3.shiro; + +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.subject.Subject; +import org.apache.shiro.util.Factory; +import org.junit.Assert; +import org.junit.Test; + +public class LoginLogoutTest { + @Test + public void testHelloworld() { + // 1、获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager + Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini"); + // 2、得到SecurityManager实例并绑定给SecurityUtils + org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance(); + SecurityUtils.setSecurityManager(securityManager); + // 3、得到Subject及创建用户名/密码身份验证Token(即用户身份/凭证) + Subject subject = SecurityUtils.getSubject(); + UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123"); + try { + // 4、登录,即身份验证 + subject.login(token); + } catch (AuthenticationException e) { + // 5、身份验证失败 + } + Assert.assertEquals(true, subject.isAuthenticated()); // 断言用户已经登录 + // 6、退出 + subject.logout(); + } +} diff --git a/src/main/java/osc/git/test/Test.java b/src/main/java/osc/git/test/Test.java deleted file mode 100644 index e4f703e..0000000 --- a/src/main/java/osc/git/test/Test.java +++ /dev/null @@ -1,8 +0,0 @@ -package osc.git.test; - -public class Test { - - public static void main(String[] args) { - System.out.println("Hello Git!!!"); - } -} diff --git a/src/main/resources/shiro.ini b/src/main/resources/shiro.ini new file mode 100644 index 0000000..5975506 --- /dev/null +++ b/src/main/resources/shiro.ini @@ -0,0 +1,3 @@ +[users] +zhang=123 +wang=123 \ No newline at end of file