码迷,mamicode.com
首页 > 其他好文 > 详细

权限框架 - shiro 简单入门实例

时间:2016-06-08 09:10:28      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的

今天开始咱们来讲讲Shiro

首先引入基本的jar包

 1 <!-- shiro -->
 2         <dependency>
 3             <groupId>org.apache.shiro</groupId>
 4             <artifactId>shiro-core</artifactId>
 5         </dependency>
 6         <dependency>
 7             <groupId>org.apache.shiro</groupId>
 8             <artifactId>shiro-web</artifactId>
 9         </dependency>
10         <dependency>
11             <groupId>org.apache.shiro</groupId>
12             <artifactId>shiro-spring</artifactId>
13         </dependency>
14         <dependency>
15             <groupId>org.apache.shiro</groupId>
16             <artifactId>shiro-ehcache</artifactId>
17         </dependency>
18         <dependency>
19             <groupId>org.apache.shiro</groupId>
20             <artifactId>shiro-quartz</artifactId>
21         </dependency>

 

项目工程结构:

技术分享

创建shiro-demo.ini:

# user infomation configer: [name=pwd]
[users]
lee=123456
nee=654321

构建一个junit测试最基本的登录登出

 1 @Test
 2     public void testLoginAndLogout() {
 4         // 创建SecurityManager工厂,通过ini配置文件创建 SecurityManager工厂
 5         Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro/shiro-demo.ini");
 7         // 创建SecurityManager
 8         SecurityManager securityManager = factory.getInstance();
10         // 设置SecurityManager到运行环境中,保持单例模式
11         SecurityUtils.setSecurityManager(securityManager);
13         // 从SecurityUtils里边创建一个subject
14         Subject subject = SecurityUtils.getSubject();
16         // 在认证提交前准备token(令牌)
17         // 这里的账号和密码 将来是由用户输入进去
18         UsernamePasswordToken token = new UsernamePasswordToken("lee", "123456");
20         try {
21             // 执行认证提交
22             subject.login(token);
23         } catch (AuthenticationException e) {
24             e.printStackTrace();
25         }
27         // 是否认证通过
28         boolean isAuthenticated = subject.isAuthenticated();
30         System.out.println("是否认证通过:" + isAuthenticated);
32         // 退出操作
33         subject.logout();
35         // 是否认证通过
36         isAuthenticated = subject.isAuthenticated();
38         System.out.println("是否认证通过:" + isAuthenticated);
39     }

运行后就可以测试用户名密码正确与否的情况是否能够通过

用户名不正确,密码不正确,或者用户名不存在都将以异常的信息抛出

 

权限框架 - shiro 简单入门实例

标签:

原文地址:http://www.cnblogs.com/leechenxiang/p/5568411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!