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

简介: 前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的 今天开始咱们来讲讲Shiro 首先引入基本的jar包 1 2 3 org.

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

今天开始咱们来讲讲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     }

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

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

 

相关文章
|
6月前
|
缓存 算法 安全
快速学会如何使用Shiro
快速学会如何使用Shiro
85 2
|
6月前
|
缓存 安全 Java
【Shiro】入门概述
1.是什么 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。Shiro 可以完 成:认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松 地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。
66 0
|
7月前
|
Java Maven
Shiro学习-快速入门(二)
Shiro学习-快速入门(二)
34 0
|
9月前
|
存储 缓存 安全
Shiro 入门概述
Shiro 入门概述
|
9月前
|
安全 数据安全/隐私保护
【Shiro】第三章 Shiro入门(一)
【Shiro】第三章 Shiro入门
53 1
|
9月前
|
存储 算法 数据安全/隐私保护
【Shiro】第三章 Shiro入门(三)
【Shiro】第三章 Shiro入门(三)
59 1
|
9月前
|
缓存 数据库 数据安全/隐私保护
【Shiro】第三章 Shiro入门(四)
【Shiro】第三章 Shiro入门(四)
54 0
|
9月前
|
存储 算法 程序员
【Shiro】第三章 Shiro入门(二)
【Shiro】第三章 Shiro入门(二)
55 1
|
9月前
|
存储 缓存 安全
【Shiro】第二章 Shiro概述
【Shiro】第二章 Shiro概述
61 0
|
9月前
|
SQL 存储 缓存
Shiro安全框架简介
基本上只要涉及到用户参数的系统都要进行权限管理,使用权限管理实现了对用户访问系统的控制,不同的用户访问不同的资源。按照安全规则或者安全策略控制用户访问资源,而且只能访问被授权的资源 权限管理包括认证和授权两部分,当用户访问资源时先对其进行身份的认证,认证通过后即可访问已经授权的资源。
52 0