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

今天开始咱们来讲讲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 简单入门实例相关推荐

  1. SpringMVC 基础教程 简单入门实例

    spring MVC 入门教程二: 一个简单的入门实例教程 该实例的源码和实例中的jar 源码:http://download.csdn.net/detail/swingpyzf/5348563 所需 ...

  2. vue服务端渲染 MySQL_vue服务端渲染简单入门实例

    想到要学习vue-ssr的同学,自不必多说,一定是熟悉了vue,并且多多少少做过几个项目.然后学习vue服务端渲染无非解决首屏渲染的白屏问题以及SEO友好. 话不多说,笔者也是研究多日才搞明白这个服务 ...

  3. 权限控制框架Shiro简单介绍及配置实例

    Shiro是什么 Apache Shiro是一个非常易用的Java安全框架它能提供验证.授权.加密和Session控制.Shiro非常轻量级而且API也非常易于理解可以使用Shiro完成从APP到企业 ...

  4. shiro简单入门介绍

    shiro是apache的一个java安全框架 可以完成认证,授权,加密,会话管理,基于web继承,缓存等 功能简介: 从外部来看: shiro架构  Subject:主体,代表了当前"用户 ...

  5. 权限框架 - shiro 授权demo

    之前说了权限认证,其实也就是登录验证身份 这次来说说shiro的授权 shiro可以针对角色授权,或者访问资源授权 两者都行,但是在如今的复杂系统中,当然使用后者,如果你是小系统或者私活的话,前者即可 ...

  6. Java中的tiles_Spring mvc整合tiles框架的简单入门教程(maven)

    前言 本教程基于Springmvc,Spring MVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高.Spring 3.0更加完善,实现了对S ...

  7. HttpClient4.5 简单入门实例(一)

    一.所需要的jar包 httpclient-4.5.jar httpcore-4.4.1.jar httpmime-4.5.jar 二.实例 package com.gblfy.test;import ...

  8. Spring简单入门实例

    前言 这一篇只是简单感受一下Spring MVC. 环境和jar包准备 1.  IDE- eclipse3.7 2. Spring 下载地址: ▪Spring3.2.3  -- http://repo ...

  9. Struts2简单入门实例

    2019独角兽企业重金招聘Python工程师标准>>> 1.安装JDK7 以及Tomcat7.0,详细步骤见之前的一篇日志中的前两个步骤,以下是链接: http://my.oschi ...

最新文章

  1. ai取代程序员_你现在从事的程序员还有多久会消失?牛津大学研究员帮你算了算...
  2. java中的equals方法
  3. 【机器学习】支持向量机和ensemble method的解析应用
  4. 在linux系统下把多个终端合并在一个窗口
  5. python中进制chr_python中的chr() 如何返回字符?
  6. .NET Core 3.0 新 JSON API - Utf8JsonWriter
  7. rest_framework08:分页器/根据ip进行频率限制
  8. 网站安全系列:跨站脚本攻击XSS
  9. Python django 安装 mysqlclient 失败
  10. Mplayer 音量控制
  11. 《鸟哥 Linux 私房菜:基础版》阅读笔记
  12. word2016安装mathtype之后工具栏无显示
  13. 全球及中国食用油市场竞争态势与营销策略分析报告2022版
  14. antd mobile toast 数字不会换行
  15. 2016阿里实习线上笔试题-附加题1-随机数生成器
  16. 性能测试之cpu监控的结论
  17. 想做数据分析岗位,互联网数据分析的发展前景怎么样?
  18. 计算机右侧不显示桌面,电脑桌面的右下角不显示移动设备的图标怎么办?
  19. RSA加密解密-java
  20. shell训练营Day13

热门文章

  1. 直观展示卷积核(转)
  2. 彻底理解 Android 中的阴影
  3. Jumping Jack
  4. c#之Redis实践list,hashtable
  5. windows下 sqlplus / as sysdba 报ora-12560的终极解决方法
  6. [HDOJ3308]LCIS(线段树,区间合并)
  7. git命令查看远程分支
  8. 线段树练习——区间合并
  9. 深入了解数据分析丨《精益数据分析》超详细读书笔记
  10. [USACO 2.2.2]循环数 (循环链表 枚举)