范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Java安全领域,SpringSecurity与Shiro你觉得哪个更胜一筹?

  前言
  在开始学习Spring Security系列教程之前,一一哥 先带大家来了解一下Spring Security,看看它到底是什么,有哪些功能,有什么特点,以及它与别的同类框架相比,有什么不同,我们以后学习任何一个新技术,其实都可以遵循"3W1H"法则,这样学习起来才能更有条理。一. Spring Security概念
  首先请各位跟着 一一哥 来了解一下 Spring Security的概念,我们得先知道要学习的是个什么东西,以后我们出去面试的时候,面试官可能会问你,"请你介绍一下Spring Security",那么答案其实就是这个概念了。
  Spring Security是一个功能强大且高度可定制的,主要负责为Java程序提供声明式的 身份验证和访问控制 的安全框架。其前身是Acegi Security,后来被收纳为Spring的一个子项目,并更名为了Spring Security。
  Spring Security的底层主要是 基于 Spring AOP 和 Servlet 过滤器 来实现安全控制 ,它提供了全面的安全解决方案,同时授权粒度可以在 Web请求级和方法调用级  来处理身份确认和授权。二. Spring Security功能
  接下来我们必须掌握Spring Security的核心功能有哪些,就是它能够做什么。
  Spring Security 的核心功能主要包括如下几个: 认证: 解决 "你是谁" 的问题-->解决的是系统中是否有这个"用户"(用户/设备/系统)的问题,也就是我们常说的"登录"。授权: 权限控制/鉴别,解决的是系统中某个用户能够访问哪些资源,即"你能干什么"的问题。Spring Security 支持基于 URL 的请求授权、方法访问授权、对象访问授权。防护攻击: 防止身份伪造等各种攻击手段。加密功能: 对密码进行加密、匹配等。会话功能: 对Session进行管理。RememberMe功能: 实现"记住我"功能,并可以实现token令牌持久化。三. Spring Security支持的身份认证模式
  在Spring Security中,我们除了掌握几个核心功能之外,对于其身份认证模式简单了解一下即可。
  在身份验证层面,Spring Security广泛支持各种身份认证模式。这些验证模式绝大多数都是由第三方提供,或相关标准组织提供的,目前Spring Security支持如下认证技术:HTTP BASIC authentication headers: 一个基于IEFT RFC的标准。
  HTTP Digest authentication headers: 一个基于IETF RFC的标准。
  HTTP X.509 client certificate exchange: 一个基于IETF RFC的标准。
  LDAP: 一种常见的跨平台身份验证方式。
  Form-based authentication: 用于简单的用户界面需求。
  OpenID authentication: 一种去中心化的身份认证方式。
  Authentication based on pre-established request headers: 类似于 Computer Associates
  SiteMinder,一种用户身份验证及授权的集中式安全基础方案。
  Jasig Central Authentication Service: 单点登录方案。
  Transparent authentication context propagation for Remote Method Invocation (RMI) and HttpInvoker: 一个Spring远程调用协议。
  Automatic "remember-me" authentication: 允许在指定到期时间前自行重新登录系统。
  Anonymous authentication: 允许匿名用户使用特定的身份安全访问资源。
  Run-as authentication: 允许在一个会话中变换用户身份的机制。
  Java Authentication and Authorization Service: JAAS,Java验证和授权API.
  Java EE container authentication: 允许系统继续使用容器管理这种身份验证方式。
  Kerberos: 一种使用对称密钥机制,允许客户端与服务器相互确认身份的认证协议。四. Shiro框架简介
  如果各位之前有过Java项目的开发经验,应该了解使用过另一个比较有名气的安全框架,就是Shiro。1. Shiro起源
  在Java安全领域,除了Spring Security,还有一个更久远的Shiro框架。Shiro是Apache下的一个 开源安全框架,提供了身份验证、授权、密码学和会话管理等 关于安全的核心功能。它的前身是 JSecurity,2004 年,Les Hazlewood 和 Jeremy Haile 创办了 Jsecurity。当时他们找不到适用于应用程序级别的合适 Java 安全框架,同时又对 JAAS 非常失望,于是就搞了Shiro这个框架。
  2004 年到 2008 年期间,JSecurity 托管在 SourceForge 上,贡献者包括 Peter Ledbrook、Alan Ditzel 和 Tim Veil。
  2008 年,JSecurity 项目贡献给了 Apache 软件基金会(ASF),并被接纳成为 Apache Incubator 项目,由导师管理,目标是成为一个顶级 Apache 项目。期间,Jsecurity 曾短暂更名为 Ki,随后因商标问题被社区更名为"Shiro"。随后项目持续在 Apache Incubator 中孵化,并增加了贡献者 KalleKorhonen。
  2010 年 7 月,Shiro 社区发布了 1.0 版,随后社区创建了其项目管理委员会,并选举 Les Hazlewood 为主席。2010 年 9 月 22 日,Shrio 成为 Apache 软件基金会的顶级项目(TLP)。 2. Shiro功能
  Apache Shiro 也是一个强大而灵活的开源安全框架,它干净利落地 处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解,因为安全有时候是很复杂的,甚至是痛苦的,但其实没必要这样。框架应该尽可能掩盖复杂的地方,暴露一个干净而直观的 API,来简化开发人员在应用程序安全上所花费的时间。
  Apache Shiro 是一个拥有许多功能的综合性的安全框架,下图表展示了 Shiro 的核心功能:
  Shiro 中有四大核心功能——身份验证,授权,会话管理和加密。 Authentication :简称为"登录",这是一个证明用户是谁的行为。 Authorization :访问控制的过程,也就是决定"谁"可以去访问"什么"。 Session Management : 管理用户特定的会话,即使在非 Web 或 EJB 应用程序。 Cryptography :通过使用加密算法保持数据安全同时易于使用。
  除此之外,Shiro 也提供了额外的功能,来解决在不同环境下所面临的安全问题,尤其是以下这些: Web Support: web 支持的 API 能够轻松地保护 Web 应用程序。 Caching :缓存是用来确保操作的快速而又高效的。 Concurrency :Apache Shiro 利用它的并发特性来支持多线程应用程序。 Testing :测试功能来帮助编写单元测试和集成测试。 Run As :一个允许用户 以 另一个用户身份(如果允许) 运行的功能,有时候在管理脚本时很有用。 Remember Me :在会话中记住用户的身份,这样用户只需要在强制登录时登录。 3. Shiro特点
  Shiro 框架具有  直观、易用  等特性,同时也能提供了  健壮的安全性 ,虽然它的功能不如 Spring Security 那么强大,但是在常规的企业级应用中,其实也够用了。
  当然在本系列教程中,我们主要是先学习Spring Security,对于Shiro的内容,请各位多关注我,我以后会再推出关于Shiro的系列教程。五. Spring Security 与 Shiro对比
  在上一小节中,我给各位说到,在Java安全领域中,目前常用的安全框架,就是Spring Security与Shiro,那么我们来对比一下两者各自的特点,这也是我们出去面试时,面试官常问的一个点:"请说一下Spring Security与Shiro的区别"。1. Spring Security优点Spring Security基于Spring开发,所以Spring Security与Spring更契合;
  Spring Security功能比Shiro更加强大,尤其是在安全防护方面;
  Spring Security社区资源比Shiro更加丰富;
  Spring Boot/Spring Cloud环境中,更容易集成Spring Security;
  Spring Security 具备良好的扩展性,可以满足自定义的要求;
  Spring Security对 OAuth2框架支持很好,而Shiro则对 OAuth2 支持不够。2. Spring Security缺点Shiro是一个轻量、简单、易于集成的老牌安全框架,而且使用流程简单清晰;反观Spring Security,则属于是重量级、配置繁琐、学习使用门槛高的安全框架。
  Shiro依赖性低,不需要任何框架和容器,可以独立运行,而Spring Security需要依赖Spring容器。3. 现在常见的安全技术栈
  在目前的Java体系中,我们在进行关于安全方面的开发时,到底该选择Shiro还是Spring Security哪个框架呢?其实我们可以进行如下搭配:SSM + ShiroSpring Boot/Spring Cloud + Spring Security
  就目前而言,Shiro 最大的问题在于和 Spring 家族的产品进行整合时较为不便。在 Spring Boot 推出的很长一段时间里,Shiro 都没有提供相应的 starter,后来虽然有一个  shiro-spring-boot-web-starter  出来,但配置并没有简化多少。所以在 Spring Boot/Spring Cloud 技术栈的微服务项目中,Shiro 几乎不存在优势。
  但如果你是进行传统的 SSM 项目开发,而不是微服务项目,那么无疑使用 Shiro 是最方便省事的,因为它足够简单,足够轻量级。
  通过本篇教程,相信只要你认真查看,就可以跟着   一一哥 了解掌握了Spring Security的概念功能,这些虽然是理论知识,我们也应该有所掌握。很多程序员之所以面试会失败,或者拿不到满意的高薪,就是只会使用某个技能,但是对该技能说不出个"一二三"来,我们必须丰富自己的理论水平,才能让面试官更认可我们,你认为呢?

win10系统右击菜单栏没有新建Excel表的选项win10系统右击菜单栏没有新建Excel表的选项,有时候需要用到新建的EXCEL表,没有这个右击桌面新建EXCEL表的功能,真的很不方便,下面就让我们一起来找回这个功能吧首先,用Windos2012中的共享,win8win10用户访问正常,WIN7用户不能访问由于现在CPU的升级换代非常之快,以前很多人都用windowsserver2008r2作为服务器系统,现在很多新的CPU都不支持了,就算安装上也没有驱动安装。现在服务器很多都使用了office每次启动,都要配置文件,怎么取消配置office每次启动,都要配置文件,怎么取消配置。每次启动office都提示正在配置Office每次都要等到进度条结束。每次启动都要等配置进度像重新安装一样超慢,点击取消下次又出现office插入的pdf文档无法打开解决方法office插入的pdf文档无法打开解决方法在平时我们在使用WORD文档的时候,有时候需要在文档中嵌入的PDF文件。这是因为安装新版的AdobeReader后,不能Word中打开嵌禁用系统的广告弹窗,我有妙招你的电脑是不是每天一开机就会弹出很多广告,每次都费尽心思去关掉那些弹窗。而且有时候那些弹窗的内容还是不堪入目,尝试了各种各样的方法还是有弹窗广告。今天就教大家几招,可以去掉系统的烦当你连接不上局域网打印机,教你一招新方法在平时的工作生活中,经常需要连接局域网中共享的一台打印机,有的电脑很快就可以连上了,有的电脑连接打印机就会出现如下提示Windows无法连接打印机。一般的连接方法是,在本地连接打印快递驿站遍地开花的时代,还有机会么?短短两年时间,似乎快递驿站已经遍地开花了。于是就有亲戚感慨说早两年搞一家好了,现在哪哪都有驿站,感觉做不了了。那到底,现在开一家驿站还得来得及么?事实上,大部分地区,都还来得及。城快递驿站代收点,如何与快递员谈包裹代收合作?如果你能认真看完,不漏掉任何一个字,就能彻底明白包裹代收合作的所有关节,看一篇胜过看千篇。首先你要知道的基础信息,哪些快递是支持投放到驿站的,目前主要是四通一达(申通中通圆通百世)第四艘超级航母正式官宣首块钢板切割,将搭载五代机和无人战机8月25日,美国海军的第4艘福特级航空母舰正式开始建造。相关人员参加了在纽波特纽斯船厂的第一块钢板切割仪式。美国海军计划用新一代福特级航母替换尼米兹级航母,未来,福特级航母将成为美农村快递前景怎么样?怎么做?去年,全国快递总量833亿件,农村快递总量为300亿件,农村地区业务量比重达到36。而在2019年,农村快递的占比仅为24左右,农村快递来的量级已经不容小觑。随着电商在农村的逐渐普女子7天被骗220万投资还需谨慎近年来,随着社会的发展,理财越来越普遍了。很多人不满足存银行的一点点利息,纷纷开始在各大理财APP上理财。但是理财也存在风险,特别是怕遇到诈骗。近日,武汉一女子7天被骗220万元的
国人买金史华尔街大妈之后,年轻人开始在直播间里囤金文吴羚玮编辑斯问和直播电商结合后,珠宝行业犹如坐上一枚火箭。冲上各大平台直播榜的头几名里,常有珠宝玉石的带货主播抖音上卖莫桑钻(一种合成钻石)的董先生,从今年5月至7月,稳居抖音带重磅3000实体店参战618,幕后主谋竟是他?核心阅读6月1日,苏阿在京宣布联手对抗京东618,令人出乎意料的是,万达飞凡也在轰轰烈烈地入局,难道实体零售真的卷土重来了?电商造节已不是什么新鲜事,可今年618前夕,除了电商平台重磅飞凡大规模招聘背后的生态战略新媒体运营资深经理薪资5070万。Java开发工程师薪资3050万。数据研究员薪资2040万。用户研究员薪资3050万。这不是互联网企业的招聘公告,而是日前万达金融集团旗下的飞凡公A轮,2亿美金,瓜子二手车说我们要做的不仅是扩大规模3月30日,瓜子二手车直卖网宣布完成A轮融资,金额高达2。045亿美元,为迄今为止中国二手车电商最高A轮融资记录。此轮融资的领投放为红杉资本中国基金和光信资本,此外,山行资本微光创现场PokemonGo尝试的AR营销或许是未来趋势核心阅读百度大客户部总经理曾华的看法是,数字营销分为三个阶段第一阶段是PC互联网阶段,主要覆盖流量第二阶段是移动互联网阶段,需要精准的大数据第三阶段为人工智能的场景技术,重点是场景升级5G一步到位,双十一换机华为Mate30系列5G版成首选2019年,被称之为中国5G商用元年,各家手机品牌都纷纷推出了自家的5G手机,随着国内三大运营商正式公布了5G套餐资费,128元月起步的价格,让身边不少朋友都激发了换购5G手机的热iQOONeo855版发布,看到起售价格我放心了iQOONeo855版发布,1998元起售6。38英寸水滴屏,19。59比例,高通骁龙855处理器,UFS3。0,安兔兔跑分477616分,前置1600万像素,后置超广角AI三摄(超高颜值智慧办公,无愧Pro!华为MatePadPro堪称最佳安卓平板平板的诞生初衷,是带来更畅快的娱乐体验。但随着全面屏浪潮的来袭,智能手机屏幕越来越大,单论娱乐性能,许多平板在大屏手机面前已经今非昔比,甚至许多用户在两者之间更倾向于手机。这样的情双十一数码产品必买清单当贝投影仪F3这么好的投影仪双十一期间到手价仅需4799元支持24期免息和加送两年延保。一,全新的智慧Ai投影诠释深度科技MStar9384G64G性能强大完美支持市面主流4K编码HEVC,VP比亚迪e2新增入门级上市比亚迪e2新增入门级上市审核状态已通过类别企业新闻发布人100137055发布时间202110270955续航缩水100km,比亚迪e2新增入门级上市为了进一步满足用户需求,降低消比亚迪F5新实拍比亚迪F5新实拍审核状态已通过类别企业新闻发布人100137055发布时间202110291056日前,获得了一组比亚迪F5新实拍图,新车可视为秦PLUSDMi的姊妹版,两车尺寸接