适合新手的 Apache Shiro 和 Java 安全性

2024-01-07

我对 Java 的安全模型几乎一无所知,包括 XML 配置、策略设置、任何安全框架组件、工具(例如密钥库等)以及介于两者之间的所有内容。

虽然我明白最终会变成基本的对于我来说,卷起袖子深入学习 Java 安全性,我想知道使用 Apache Shiro 之类的东西是否有助于缓解一点过渡。因此,我对此有一些担忧。

Shiro 本质上是一个“交钥匙、包罗万象的包装器”,用于在 Java 应用程序(更具体地说是 Web 应用程序)中实现安全性。意思是,人们是否可以使用他们的项目配置 Shiro,并从本质上调整它以执行所有相同的配置、策略设置等,如果没有它,人们就必须“手动”(零碎)进行操作?如果没有的话,Shiro 有什么缺点(有哪些大事Shiro不能为我做那些重要的事情)?是否存在 Shiro 根本没有解决的重大漏洞?

同样,我也听说过有关 OWASP 的 ESAPI 框架的好消息。有人有这两种经验吗? ESAPI 和 Shiro 是否可以配置为一起工作,或者只是一个二进制的“一个或另一个”类型的交易?

提前致谢!


简短的回答是肯定的。 Shiro 和 ESAPIcan尽管两个 API 之间存在大量冗余功能,但它们可以协同工作。 Shiro 为您提供了覆盖标准 Java 安全模型所需的一切。 ESAPI 提供了 OWASP 的全球标准化安全机制,超越了这一点。

Shiro 应该由像我这样真正不了解 Java 安全性和/或一般应用程序/服务器安全性的新手使用。它为那些不了解安全的人处理了很多事情。 ESAPI 应该由已经了解 Java 安全性的编程安全专业人士使用,他们不仅希望利用 Java EE 附带的所有功能,还需要加倍努力,让事情变得更加安全。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适合新手的 Apache Shiro 和 Java 安全性 的相关文章

随机推荐

  • PHP 将 Excel (.xls) 转换为 pdf [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 php java 开源软件转换器或 php 库可以将 xls 文件转换为 pdf 文档 概
  • 如何使用R将年度数据转换为月度数据?

    我有2000年至2015年15年的逐年GDP数据 我想将这些数据转换为月度数据 其中只有月份和年份 我只想将当年的值复制到所有月份 我怎样才能在 R 中做到这一点2010 年的值是 1708 我想为 2010 年的所有月份复制相同的值 我的
  • 最长的数字循环周期

    我试图找到小于 1000 的数字 该数字除以 1 时会产生最长的重复数字串 我有一个十进制数字列表 必须找到具有最长重复序列的数字 这是我到目前为止所拥有的 numbers 2 999 decimal representations num
  • 由于 Android 不活动,15 分钟后自动注销

    如何在android中使用计时器因用户不活动而在15分钟后自动注销 我在 loginActivity java 中使用以下代码 public class BackgroundProcessingService extends Service
  • 错误:无法显示子报表。子报告在预览中有效 - 但在部署时无效

    我有一个运行多个子报告的主报告 我的一个子报告在预览中运行得非常好 但是当我部署该报告并从浏览器运行它时 我只是得到 错误 无法显示子报表 我做了一些研究 但仍然不确定问题是什么 我在不同的浏览器中尝试过 主报告和子报告的数据源都使用相同的
  • 类型错误:无法读取未定义的属性“measureInWindow”

    环境 Windows 10 Node js 10 x Expo 35 0 0 React 16 8 React native 0 62 0 React navigation 3 0 7 开发了一个简单的应用程序来测试 Android 应用程
  • 如何创建提交登录表单的书签

    我意识到从安全角度来看这并不是很好 但请幽默一下 有没有办法创建一个提交表单 例如登录表单 的书签 例如 这有效 但前提是当前浏览器窗口中加载了页面 javascript function document body innerHTML
  • 如何在android中生成release key

    我已经完成了简单的地图应用程序 这里我从 debug keystore 获得了 api 密钥 它在模拟器上工作正常 当我尝试将其作为 apk 文件获取并在设备上运行时 它没有显示地图 我想我需要为其创建发布密钥 我如何为其生成发布密钥以及如
  • 使用向导时如何将输入框值绑定到支持 bean 属性中的映射值

    我正在使用 Primefaces 向导组件 在一个选项卡上 我根据以前的选项卡输入 用户类型 动态创建输入框 输入框文本标签源自列表 在我的支持 bean 中 我有一个映射 其中包含作为键的输入标签和作为值的输入框输入 单击下一步 我希望使
  • 反应本机应用程序中的 canOverrideExistingModule 问题

    大家好 我尝试使用react native camera模块创建一个相机应用程序 当我尝试在我的设备 Android 手机 上运行此应用程序时 出现以下错误 任何人都可以为我提供解决方案吗 转到文件 MainApplication java
  • IIS url 重写 - css 和 js 被错误地重写

    我的 urlrewrites 存在问题 每当我指向要重写的页面时 它都无法显示 因为它还将规则应用于我的网页中引用的 css 和 js 文件 为了尝试解决这个问题 我放入了 css 和 js 的完全限定路径 这在未应用重写的任何页面上都呈现
  • 创建对变量的引用(类似于 PHP 的“=&”)?

    在 PHP 中 可以创建一个引用变量 以便两个命名变量可以查看相同的值 a 1 b a echo a 1 echo b 1 b 2 echo a 2 我希望在 Python 中实现类似的目标 具体来说 我想创建对对象属性的引用 例如 cla
  • C - 使用 scanf 读取特殊字符,例如 'ã'

    是否有可能使scanf读取所有特殊字符 我知道你可以使用scanf n s string 强制 scanf 接受空格 但是我可以对特殊字符做同样的事情吗 例如 当我尝试输入 N o 时 结果只是 N 就像scanf遇到 unicode 字符
  • 如何在 Visual Studio 中安装 C# 类库?

    我正在尝试使用我找到的类库关于这里的另一个问题 https stackoverflow com a 281381 1934286 总的来说 我对 C Visual Studio 和 OOP 还很陌生 所以如果这不是正确的问题 请原谅我 我点
  • GIT 无法生成 Askpass 克隆 Git 存储库时没有此类文件或目录 [重复]

    这个问题在这里已经有答案了 我参考了很多网站来解决 VS 2017 TFS 中的 Git 存储库克隆问题 但无法修复 请帮我 以下是 Visual Studio 版本详细信息 微软 Visual Studio 专业版 2017 版本 15
  • 构建 xunit.xml 文件后应该使用 xUnitPublisher 还是 xUnitBuilder?

    我正在自动化 dot net core 构建 鉴于 Jenkins 文件中的以下代码片段 我为每个测试项目生成一个 XML 文件 在接下来的步骤中 我想处理这些 XML 文件 詹金斯给出了两个选择 我很困惑该使用哪个选项 我使用 处理 还是
  • 循环使用translate3d制作的轮播

    我有一个带有拖动选项的轮播translate3d 考虑到使用translate3d为了转到下一张幻灯片 我最终翻译到了轮播的末尾 你能帮我找到解决方案吗 下一张幻灯片逻辑 goNext this carousel style transfo
  • 如何访问隐藏在 DS.PromiseArray 中的数组数据

    这是以下内容的后续内容 访问 ember js 中的另一个模型数据 https stackoverflow com questions 19386351 accessing another models data in ember js 我
  • 分别了解 offsetWidth、clientWidth、scrollWidth 和 -Height

    StackOverflow 上有几个关于offsetWidth clientWidth scrollWidth and Height 分别 但没有人给出这些值的全面解释 此外 网络上有多个来源提供了令人困惑或不正确的信息 您能否给出完整的解
  • 适合新手的 Apache Shiro 和 Java 安全性

    我对 Java 的安全模型几乎一无所知 包括 XML 配置 策略设置 任何安全框架组件 工具 例如密钥库等 以及介于两者之间的所有内容 虽然我明白最终会变成基本的对于我来说 卷起袖子深入学习 Java 安全性 我想知道使用 Apache S