权限框架 - 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     }

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

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

 

相关文章
|
缓存 安全 Java
【Shiro】入门概述
1.是什么 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。Shiro 可以完 成:认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松 地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。
177 0
|
Java Maven
Shiro学习-快速入门(二)
Shiro学习-快速入门(二)
78 0
|
存储 缓存 安全
【Shiro】第二章 Shiro概述
【Shiro】第二章 Shiro概述
95 0
|
存储 缓存 安全
Shiro 入门概述
Shiro 入门概述
|
SQL 存储 缓存
Shiro安全框架简介
基本上只要涉及到用户参数的系统都要进行权限管理,使用权限管理实现了对用户访问系统的控制,不同的用户访问不同的资源。按照安全规则或者安全策略控制用户访问资源,而且只能访问被授权的资源 权限管理包括认证和授权两部分,当用户访问资源时先对其进行身份的认证,认证通过后即可访问已经授权的资源。
86 0
|
存储 缓存 安全
Shiro学习之Shiro简介
Shiro学习之Shiro简介
125 0
|
缓存 安全 前端开发
shiro架构的入门介绍
shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。 spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统, 分布式系统权限管理,shiro属于轻量框架,越来越多企业项目开始使用shiro。
shiro架构的入门介绍
|
存储 数据采集 缓存
Shiro简介
.什么是Shiro - .ApacheShiro 是一个Java的安全(权限)框架。 - .Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。 - .Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等。
Shiro简介
|
XML JSON 安全
|
SQL 关系型数据库 MySQL
Springboot 整合Shiro 轻量级权限框架,从数据库设计开始带你快速上手shiro
Springboot 整合Shiro 轻量级权限框架,从数据库设计开始带你快速上手shiro
675 1
Springboot 整合Shiro 轻量级权限框架,从数据库设计开始带你快速上手shiro