什么是Subject对象

通常我们会将Subject对象理解为一个用户,同样的它也有可能是一个三方程序,它是一个抽象的概念,可以理解为任何与系统交互的“东西”都是Subject。

二.如何得到一个对象

Subject subject = SecurityUtils.getSubject();  //得到一个对象Session session = subject.getSession();  //得到session
session.setAttribute( "someKey", "aValue" ); 

三.这里的httpSession的全包名是javax.servlet.http.HttpSession,也就是说它可以正常操作httpSession

之前说了Subject可以理解为当前用户,那么我怎么知道你是当前用户呢,当然是需要登录。

//创建一个用户
UsernamePasswordToken token = new UsernamePasswordToken("root","123");
//是否记住用户
token.setRememberMe(true);
//登录
subject.login(token);

//登录
        try {
            subject.login(token);
            //没有抛异常则登录成功
        } catch ( UnknownAccountException uae ) {
            System.out.println("用户名不存在");
        } catch ( IncorrectCredentialsException ice ) {
            System.out.println("密码错误");
        } catch ( LockedAccountException lae ) {
            System.out.println("用户被锁定,不能登录");
        } catch ( AuthenticationException ae ) {
            System.out.println("严重的错误");
        }

//判断用户是否是拥有某种角色
            boolean isRole = subject.hasRole( "admin" );
            //是否拥有某种功能
            boolean isPer = subject.isPermitted("xiaoming:run");

//退出登录
            subject.logout();

Shiro 之 Subject 类相关推荐

  1. Shiro的subject实质上是当前执行用户的特定视图。

    Shiro的subject实质上是当前执行用户的特定视图. 通过org.apache.shiro.SecurityUtils可以查询当前执行用户: Subject currentUser = Secu ...

  2. 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题

    为什么80%的码农都做不了架构师?>>>    如题,最近使用spring boot集成shiro,在shiroFilter要使用数据库动态给URL赋权限的时候,发现 @Autowi ...

  3. java subject类_RxJava 常见误区(一):过度使用 Subject

    准备写这篇文章的时候看了下 RxJava 在 Github 上已经 12000+ 个 star 了,可见火爆程度,自己使用 RxJava 也已经有一小段时间.最初是在社区对 RxJava 一片赞扬之声 ...

  4. Shiro 使用 JWT Token 配置类参考

    项目中使用了 Shiro 进行验证和授权,下面是 Shiro 配置类给予参考. 后来并没有使用 Shiro,感觉使用 JWT 还是自己写拦截器比较灵活,使用 Shiro 后各种地方需要魔改,虽然功能也 ...

  5. shiro 登陆成功后subject依然为空

    shiro框架是一个强大的轻量级java安全框架.它提供了权限验证.加密.session管理的功能.shiro易用.上手快,应用场景大到企业级应用.小到手机应用都可以使用.本文就针对shiro的sub ...

  6. 设计科目类Subject,其类的实例表示大学课程科目。一门课程包含课程名(String)、课程编码(code)为六位字符串,前三位字符为字母代表学科领域,后三位字符为数字,课程编码是唯一的。

    求大神帮忙写一个变成 带注释的 我实在是没整明白!! 救救孩子吧 孩子可着急了! 设计科目类Subject,其类的实例表示大学课程科目.一门课程包含课程名(String).课程编码(code)为六位字 ...

  7. SpringBoot整合Shiro安全框架完整实现

    目录 一.环境搭建 1. 导入shiro-spring依赖 2. 编写首页及其controller 3. 编写shiro配置类 二.Shiro实现登录拦截 1. 编写页面及其controller 2. ...

  8. 基于shiro的权限设计

    shiro介绍 Apache shiro是一个权限控制框架,它将安全认证抽取出来,实现用户身份认证,权限授权,加密,会话管理等功能,是一个通用的安全认证框架,而且还可以用于分布式集群.功能如下 1.验 ...

  9. 使用 Shiro 设计基于用户、角色、权限的通用权限管理系统

    一.前言 在大型的信息管理系统中,经常涉及到权限管理系统 下面来个 demo,很多复杂的系统的设计都来自它 代码已经放到github上了,地址:https://github.com/larger5/s ...

  10. springMVC和Shiro框架整合使用简单示例 【转】

    为什么80%的码农都做不了架构师?>>>    一.目录结构 首先是目录结构如图: 二.pom.xml文件 <project xmlns="http://maven. ...

最新文章

  1. 信号与系统第四章-第六章习题易错点整理
  2. 矩阵sum_推荐系统——从协同过滤到矩阵分解
  3. 安卓游戏开发用什么引擎_游戏开发学习第一天————用什么软件
  4. 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
  5. 《天天数学》连载37:二月六日
  6. Linux之使用MobaXterm远程连接Linux前提条件
  7. impala 本年格式化时间_【DataPM】Impala里的日期函数
  8. 利用paramiko模块实现堡垒机+审计功能
  9. 0x7c97cd12 指令引用的 0x00000014内存。该内存不能为written
  10. 降维系列之 MDS多维缩放 与 ISOMAP 等度量映射
  11. 纯css制作导航下拉菜单
  12. 运筹优化算法工程师面试问题汇总
  13. 百度开放平台Demo提示“Key验证失败...”的问题
  14. 汉语语言分析(2) - 短语
  15. Borůvka算法与异或生成树
  16. MATLAB:Your network connectionmay be down or your proxy settings improperly configured
  17. Delphi惹谁了?
  18. PTA 1055 集体照 (25 分) C++实现
  19. python爬虫:爬取百度小姐姐照片
  20. excel sql python_报表自动化,三流用Excel,二流用Python,一流用它

热门文章

  1. 「首席架构师推荐」数值分析软件列表
  2. SQL:with as用法
  3. 随记:STM32L053LL库LPUART串口DMA接收数据
  4. 数据结构实现学生信息管理系统功能
  5. 史上超全免费photoshop实训零基础视频教程,新手学习PS软件教程资源下载
  6. js浏览器窗口激活(各浏览器兼容)
  7. xp 无法关闭计算机,xp系统不能关机解决方法
  8. Bigemap APP(Android)手机离线地图使用说明
  9. 如何在HTML标题中添加或改变图片
  10. 最短剩余时间调度算法_LRTF:最长剩余时间优先调度算法