在web开发中,安全第一位!过滤器,拦截器~
开发网站,安全应该在什么时候考虑?

  • 漏洞,隐私泄漏~
  • 架构一旦确定~
    shiro、SpringSecurity,这两个很像,除了类不一样,名字不一样;
    认证,授权(每个用户都有哪些权限)
  • 功能权限
  • 访问权限
  • 菜单权限
  • …拦截器,过滤器:大量的原生代码~冗余
    AOP:横切~配置类

1、Spring Security

简介
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

  • WebSecurityConfigurerAdapter:自定义Security策略
  • AuthenticationManagerBuilder:自定义认证策略
  • @EnableWebSecurity:开启WebSecurity模式,@Enablexxxxx开启某个功能
    Spring Security的两个主要目标是“认证”和“授权”(访问控制)
    “认证”(Authentication)
    “授权”(Authorization)
    这个概念是互通的,而不是只在Spring Security中存在
    参考官网:Spring-Security找到对应的帮助文档

2、Shiro简介

2.1、什么是Shiro?

  • Apache Shiro是一个Java的安全(权限)框架。
  • Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。
  • Shiro可以完成认证,授权,加密,会话管理,Web集成,缓存等。
  • 下载地址:Shiro官网

Shiro

  1. 导入依赖
  2. 配置文件
    自定义Realm继承AuthorizingRealm、重写doGetAuthorizationInfo方法

过滤
允许用户访问自己有权限的资源

/*
anon:无需认证就可以访问
authc:必须认证了才能访问
user:必须拥有 记住我 功能才能用
perms:拥有对某个资源的权限才能访问
role:拥有某个角色权限才能访问
*/
Map<String,String> filterMap = new LinkedHashMap<>();
filterMap.put("/user/add","authc");
bean.setFilterChainDefinitionMap(filterMap);
  1. HelloWord
    Spring Secutiry-都有
//获得 当前用户
Subject currentUser = securityUtils.getSubject();
//用户获得session
Session session = currentUser.getSession();
//判断用户是否被认证
currentUser.isAuthenticated()
//判断用户是否拥有这个角色
currentUser.hasRole()
//粗粒度
currentUser.isPermitted()
//注销
currentUser.logout();

401 未授权

SpringSecurity(安全)、Shiro简介相关推荐

  1. SpringBoot——整合数据库,springSecurity,shiro、整合thymeleaf

    一.springboot--JDBC 狂神说SpringBoot07:整合JDBC 1.引入web.JDBC API.mysql Driver <dependency><groupI ...

  2. springboot+mybatis+shiro——shiro简介

    转载:[一]shiro入门 之 Shiro简介 一.shiro介绍: 官方网址:http://shiro.apache.org/introduction.html,shiro的功能包括:认证.授权.加 ...

  3. Shiro(一)之shiro简介与工作原理

    一.shiro简介 这里我先来介绍一下什么是shiro,Apache Shiro 是 Java 的一个安全框架.目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring ...

  4. 细说shiro之一:shiro简介

    细说shiro之一:shiro简介 官网:https://shiro.apache.org/ 一. Shiro是什么 Shiro是一个Java平台的开源权限框架,用于认证和访问授权.具体来说,满足对如 ...

  5. 权限管理框架Shiro简介

    Shiro 1.shiro简介 shiro是一个强大易用的java安全框架,可以帮助我们完成:身份认证.授权.加密.会话管理.与web集成.缓存等. 包括了三个核心组件:Subject.Securit ...

  6. Shiro学习总结(1)——Apache Shiro简介

    1.1  简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比springSecurity,可能没有Spring Securit ...

  7. 第一章 Shiro简介——跟我学习springmvc shiro mybatis

    1.1  简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...

  8. 第一章 Shiro简介——《跟我学Shiro》

    1.1  简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...

  9. Shiro系列-Shiro简介

    导语   Apache Shiro是一个Java安全框架,现在在很多的场景下使用Shiro的人越来越多.因为它与Spring Security 相比较来说相对比较简单,从功能上来讲也没有Spring ...

  10. Shiro(1)--Shiro简介

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 一.作用简介 Apache Shiro是一个强大且易用的Java安全框架,可以执行身份验证.授权 ...

最新文章

  1. docker启动.NET3.1与5.0的包
  2. How Kyma plugin is initiated by WordPress
  3. 中文邮件营销html模版,怎么制作邮件营销模板?— —邮件格式
  4. mysql视图实验心得_Mysql学习经验总结【3】
  5. AAAI 2021 | 商汤提出BSN++: 时序动作提名生成网络
  6. 使用MetalLB在您的Raspberry Pi家庭实验室上安装Kubernetes负载均衡器
  7. 一行Python代码统计词频
  8. vi测试仪维修成功率高吗?_欧森杰检测仪:臭氧检测仪的六大特点,您真的了解吗?...
  9. 数学归纳法证明时间复杂度
  10. [转载] numpy的属性和函数
  11. python三位数数字求和_Python定义函数实现累计求和操作
  12. SpringBoot2通过CXF框架整合Webservice
  13. 最大值减最小值等于区间长度_一文帮你弄清楚电压和电流的有效值、瞬时值、平均值、最大值及其关系...
  14. STM32 BOR/POR/PDR
  15. C#编写中英文虚拟键盘
  16. html邮件签名生成器,签名生成器
  17. PaddlePaddle笔记4-看图写诗
  18. 解读PureMVC框架
  19. 新版曝光骗子公示PHP系统源码+云黑系统
  20. 【深入理解计算机系统-学习笔记】第一章 计算机系统漫游

热门文章

  1. 三年级计算机学打字备课,小学信息技术三年级下册《15请计算机教我学打字认识打字软件》课件.ppt...
  2. Pandas DataFrame切片器的基本操作及应用
  3. MySQL索引之全文索引(FULLTEXT)
  4. 论文笔记:PPT: Pre-trained Prompt Tuning for Few-shot Learning
  5. seafile私有云盘搭建全过程记录
  6. 猎头是怎么找到合适候选人的?
  7. Python_day04
  8. [Xilinx FPGA] #4 Xilinx FPGA 芯片命名规则与查询方法
  9. python编程求长方形的面积_Python实现计算长方形面积(带参数函数demo)
  10. 【云驻共创】华为云数据库之大数据入门与应用(上)