SpringSecurity(安全)、Shiro简介
在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
- 导入依赖
- 配置文件
自定义Realm继承AuthorizingRealm、重写doGetAuthorizationInfo方法
过滤
允许用户访问自己有权限的资源
/*
anon:无需认证就可以访问
authc:必须认证了才能访问
user:必须拥有 记住我 功能才能用
perms:拥有对某个资源的权限才能访问
role:拥有某个角色权限才能访问
*/
Map<String,String> filterMap = new LinkedHashMap<>();
filterMap.put("/user/add","authc");
bean.setFilterChainDefinitionMap(filterMap);
- HelloWord
Spring Secutiry-都有
//获得 当前用户
Subject currentUser = securityUtils.getSubject();
//用户获得session
Session session = currentUser.getSession();
//判断用户是否被认证
currentUser.isAuthenticated()
//判断用户是否拥有这个角色
currentUser.hasRole()
//粗粒度
currentUser.isPermitted()
//注销
currentUser.logout();
401 未授权
SpringSecurity(安全)、Shiro简介相关推荐
- SpringBoot——整合数据库,springSecurity,shiro、整合thymeleaf
一.springboot--JDBC 狂神说SpringBoot07:整合JDBC 1.引入web.JDBC API.mysql Driver <dependency><groupI ...
- springboot+mybatis+shiro——shiro简介
转载:[一]shiro入门 之 Shiro简介 一.shiro介绍: 官方网址:http://shiro.apache.org/introduction.html,shiro的功能包括:认证.授权.加 ...
- Shiro(一)之shiro简介与工作原理
一.shiro简介 这里我先来介绍一下什么是shiro,Apache Shiro 是 Java 的一个安全框架.目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring ...
- 细说shiro之一:shiro简介
细说shiro之一:shiro简介 官网:https://shiro.apache.org/ 一. Shiro是什么 Shiro是一个Java平台的开源权限框架,用于认证和访问授权.具体来说,满足对如 ...
- 权限管理框架Shiro简介
Shiro 1.shiro简介 shiro是一个强大易用的java安全框架,可以帮助我们完成:身份认证.授权.加密.会话管理.与web集成.缓存等. 包括了三个核心组件:Subject.Securit ...
- Shiro学习总结(1)——Apache Shiro简介
1.1 简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比springSecurity,可能没有Spring Securit ...
- 第一章 Shiro简介——跟我学习springmvc shiro mybatis
1.1 简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...
- 第一章 Shiro简介——《跟我学Shiro》
1.1 简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...
- Shiro系列-Shiro简介
导语 Apache Shiro是一个Java安全框架,现在在很多的场景下使用Shiro的人越来越多.因为它与Spring Security 相比较来说相对比较简单,从功能上来讲也没有Spring ...
- Shiro(1)--Shiro简介
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 一.作用简介 Apache Shiro是一个强大且易用的Java安全框架,可以执行身份验证.授权 ...
最新文章
- docker启动.NET3.1与5.0的包
- How Kyma plugin is initiated by WordPress
- 中文邮件营销html模版,怎么制作邮件营销模板?— —邮件格式
- mysql视图实验心得_Mysql学习经验总结【3】
- AAAI 2021 | 商汤提出BSN++: 时序动作提名生成网络
- 使用MetalLB在您的Raspberry Pi家庭实验室上安装Kubernetes负载均衡器
- 一行Python代码统计词频
- vi测试仪维修成功率高吗?_欧森杰检测仪:臭氧检测仪的六大特点,您真的了解吗?...
- 数学归纳法证明时间复杂度
- [转载] numpy的属性和函数
- python三位数数字求和_Python定义函数实现累计求和操作
- SpringBoot2通过CXF框架整合Webservice
- 最大值减最小值等于区间长度_一文帮你弄清楚电压和电流的有效值、瞬时值、平均值、最大值及其关系...
- STM32 BOR/POR/PDR
- C#编写中英文虚拟键盘
- html邮件签名生成器,签名生成器
- PaddlePaddle笔记4-看图写诗
- 解读PureMVC框架
- 新版曝光骗子公示PHP系统源码+云黑系统
- 【深入理解计算机系统-学习笔记】第一章 计算机系统漫游
热门文章
- 三年级计算机学打字备课,小学信息技术三年级下册《15请计算机教我学打字认识打字软件》课件.ppt...
- Pandas DataFrame切片器的基本操作及应用
- MySQL索引之全文索引(FULLTEXT)
- 论文笔记:PPT: Pre-trained Prompt Tuning for Few-shot Learning
- seafile私有云盘搭建全过程记录
- 猎头是怎么找到合适候选人的?
- Python_day04
- [Xilinx FPGA] #4 Xilinx FPGA 芯片命名规则与查询方法
- python编程求长方形的面积_Python实现计算长方形面积(带参数函数demo)
- 【云驻共创】华为云数据库之大数据入门与应用(上)