JACC 提供程序如何使用其部署的服务器的主体到角色映射功能?

2024-04-02

我正在写一个JACC提供者。

在此过程中,这意味着实施PolicyConfiguration http://download.oracle.com/javaee/6/api/javax/security/jacc/PolicyConfiguration.html.

The PolicyConfiguration负责从应用程序服务器接受配置信息,例如哪些权限赋予哪些角色。这使得一个Policy http://download.oracle.com/javase/6/docs/api/java/security/Policy.html稍后可以在交付时做出授权决定有关当前用户的信息 http://download.oracle.com/javase/6/docs/api/java/security/ProtectionDomain.html以及他正在尝试做什么。

然而,它不属于PolicyConfiguration的(残暴的)合约来维护角色及其权限之间的映射,以及Principals分配给这些角色的人员。

通常(实际上总是)应用程序服务器容纳此映射。例如,在 Glassfish 上,您可以通过提供以下内容来影响此映射sun-web.xml and sun-ejb-jar.xml等等与您的 Java EE 模块相关。 (这些特定于供应商的文件负责说明,例如,superusers是一个要分配应用程序角色的组admins.)

我想重用这些文件提供的功能,并且我想为尽可能广泛的应用程序服务器这样做。

这是——完全武断的——IBM 对此事的看法,这似乎证实了我的怀疑:我想做的基本上是不可能的 http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/csec_jaccextensions.html。 (对于我的情况来说,这个特定的 Java EE 合同不值得打印在纸上。)

我的问题:对于初学者来说,我如何从 Glassfish 和 JBoss 中获取主体到角色的映射信息PolicyConfiguration?如果有我不知道的标准方法,我会洗耳恭听。


简短的回答是:没有标准的方法来做到这一点。

尽管 Glassfish 和 JBoss 支持主体到角色映射,但 JACC 并不假设所有容器都支持,因此它将保留这些映射的责任委托给 JACC 提供程序实现。从文档(参见:PolicyConfiguration.addToRole method http://docs.oracle.com/javaee/6/api/javax/security/jacc/PolicyConfiguration.html#addToRole%28java.lang.String,%20java.security.Permission%29):

保单提供者的职责是确保所有 添加到角色的权限被授予“映射到 角色”。

换句话说,您需要在每个容器的 JACC 提供程序中自行实现这一点。例如,对于 JBoss,您可以使用以下子类之一AbstractRolesMappingProvider https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.1/html/API_Documentation/files/javadoc/org/jboss/security/mapping/providers/role/AbstractRolesMappingProvider.html.

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

JACC 提供程序如何使用其部署的服务器的主体到角色映射功能? 的相关文章

  • 如何在 servicestack.net 中实现身份验证

    我正在调查 servicestack net 但它的示例和文章似乎没有涵盖身份验证 这是由 servicestack net 处理的东西 如果是的话如何处理 我特别有兴趣实现对以下方面的支持 OAuth 因此能够检查原始请求并验证它 检索关
  • 访问容器管理 Bean 中的事务状态

    我有一个 Stateless EJB http en wikipedia org wiki Enterprise JavaBean使用容器管理的事务 有没有办法访问 状态 javax transaction UserTransaction
  • 如何向所有用户授予团队项目访问权限?

    在我们的组织中 我们有一些项目 根据政策 向所有有权访问 TFS 的开发人员 QA 和项目经理开放 在包含超过 150 个团队项目和 500 多个有效用户的团队项目集合中 我们如何轻松地将所有有效 TFS 用户添加到某个特定项目的 读者 组
  • JSF:初始请求和回发请求?

    请看一下 JSF 中的下面这行代码
  • 使用 HornetQ (JBoss) 在 docker 容器上公开的 JMS 所需的端口

    我正在使用 Docker 将 JMS 服务器容器链接到另一个 JMS 客户端容器 但是当我在docker容器中运行服务器时 客户端无法正确连接到服务器 我在docker上暴露了端口443 JMS还有其他使用的端口吗 我可以成功创建目标 但不
  • 是否可以将密码以纯文本形式存储在 php 变量或 php 常量中?

    根据问题 在 php 页面上存储密码是否安全 例如 password pa w0rd 如果用户看不到它 那就安全了 对吗 编辑 确实有人建议使用hash 但是数据库服务器连接密码会有问题不是吗 简短的回答是否定的 而且要看情况 以纯文本形式
  • JPA:@JoinColumn 和 @PrimaryKeyJoinColumn 之间的区别?

    两者之间的确切区别是什么 JoinColumn and PrimaryKeyJoinColumn You use JoinColumn对于属于外键一部分的列 典型的列可能如下所示 例如 在具有附加属性的连接表中 ManyToOne Join
  • 使用端口 80 (Ubuntu / Linode) 运行 Node.js 的最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在设置我的第一个Node js服务器上的cloud Linux node我对以下细节还很陌生Linux admin 顺便说一句 我并没有尝试
  • CodeIgniter - 为什么使用 xss_clean

    如果我正在清理我的数据库插入 并且还转义我编写的 HTMLhtmlentities text ENT COMPAT UTF 8 是否还需要使用 xss clean 过滤输入 它还有什么其他好处 xss clean http docs gip
  • Spring Security 实体字段级安全

    我有一个 Spring MVC 应用程序 它提供了一个视图 其中显示了来自Customer实体 例如姓名 地址 电话号码等 该应用程序具有各种角色 例如ROLE USER and ROLE ADMIN 用户具有ROLE USER只能看到客户
  • PHP - 停止显示错误中的完整路径

    有什么方法可以告诉 PHP 不显示错误 警告或通知消息中存在任何错误的文件的完整路径 我知道我可以禁用错误 但是 只是为了避免任何风险 例如 我的脚本返回一个错误 显示如下 Fatal error Call to undefined fun
  • ASP.NET MVC - 角色提供程序的替代方案?

    我试图避免使用角色提供程序和成员资格提供程序 因为在我看来它太笨拙了 因此我试图制作自己的 版本 它不那么笨拙并且更易于管理 灵活 现在我的问题是 除了角色提供者之外 还有其他不错的选择吗 我知道我可以自定义角色提供者 会员提供者等 通过更
  • 保护客户端 API 的安全

    我正在为基于 JavaScript 的游戏构建服务器端 API 和客户端库 其中必须确保两个非常重要的功能的安全 用户每次游玩都必须扣款 我们必须确保提交的分数是玩家实际获得的分数 解决第一个问题看起来很简单 在每次游戏开始时 我们都会调用
  • Java Keystore 是否存在性能问题? [复制]

    这个问题在这里已经有答案了 我们开发了一个应用程序来加密 解密来自服务器的请求 响应 我们正在做性能测试 加密 解密应用程序 我们观察到加密 解密过程需要时间 而许多线程 正在同时做 为了识别问题 我们记录了加密 解密过程中的所有方法 从记
  • 配置 Jersey + Jetty + JSP

    我如何配置该项目以便它能够呈现 JSP 文件 我希望以 rest 开头的 URL 路由到球衣资源 并让 URLS 提供 JSP 文件 我这个项目中没有任何 web xml 项目文件夹 src main java Main java reso
  • PHP - Paypal API 表单和安全性 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在我的电子商务应用程序上使用标准 php paypal 表单进行付款 我注意到只有 firebug 的人可以在通过 立即付款 按钮发
  • GWT SafeHTML、XSS 和最佳实践

    OWASP 的优秀人员强调 您必须对 HTML 文档中要放入不受信任数据的部分 正文 属性 JavaScript CSS 或 URL 使用转义语法 看OWASP XSS https www owasp org index php XSS 2
  • 如何在 Jboss 7.1 中配置简单身份验证

    我正在从事由以下人员编写的项目纯jsps 脚本 不使用任何框架 jboss版本 jboss as 7 1 0 Final 我现在正在尝试在其上添加简单的身份验证 因此 当用户尝试浏览 jsp 时 比如说 http localhost myC
  • JSON 安全最佳实践?

    在研究这个问题的同时JSON 与 XML http www subbu org blog 2006 08 json vs xml 我碰到这个问题 https stackoverflow com questions 325085 when t
  • 将 WebApp 授权给 ADFS 以访问 Dynamics CRM Web API

    我有一个 Web 应用程序需要与 Dynamics CRM 365 Web API 通信 Dynamics CRM 配置为 ADFS 上的依赖方 服务器是 Windows Server 2016 一切都在本地 而不是在 Azure 上 我为

随机推荐

  • 什么更快?结构体数组或数据表

    我正在使用 LinqToSQL 处理来自 SQL Server 的数据 并将其转储到 iSeries 服务器中以进行进一步处理 更多详细信息请点击此处 https stackoverflow com questions 2410466 sp
  • GC 会从元空间收集垃圾吗?

    我一直认为垃圾收集器只清除堆 现在我也这么认为 在java 8中permGen被删除并被Metaspace取代 据我了解元空间是垃圾收集的 https stackoverflow com a 24075360 2674303 https s
  • 在Python交互窗口VSCode中交换shift-enter和回车

    In the interactive window in vscode you press shift enter to run the code you just typed and enter to go to the next lin
  • 为什么compareTo返回一个整数

    我最近在一个 SO 聊天中看到了一个讨论 但没有明确的结论 所以我最终在那里询问 这是出于历史原因还是与其他语言的一致性 在查看签名时compareTo各种语言 它返回一个int 为什么它不返回枚举 例如 在 C 中我们可以这样做 enum
  • 创建对象的数组列表

    如何用对象填充 ArrayList 并且其中的每个对象都不同 ArrayList
  • Kafka 0.8,是否可以使用java代码创建带有分区和复制的主题?

    在 Kafka 0 8beta 中 可以使用下面提到的命令创建主题here http kafka apache org 08 quickstart html bin kafka create topic sh zookeeper local
  • 如何每隔 n 个字符或最近的前一个空格分割字符串

    我想每 15 个字符 包括空格 插入一个换行符 我目前正在使用下面的正则表达式 它在某种程度上起作用 但它占用了单词后最近的空格 并且我想要最近的前一个空格 有任何想法吗 const split str replace s S 15 g 1
  • 拆分 ng 重复项?

    简单的问题 如果我的控制器中有这个 scope somedata Item 1 Item 2 set from something else 有没有办法在 ngRepeat 表达式中分割我的视图的一些数据 就像是 div item div
  • ApiController Post 中的 Async 和 Await

    我仍然不太清楚 net 4 5 中的 async 和 wait 到目前为止 我想我明白了等待 将函数 在其右侧 放在单独的线程上 将执行返回给当前函数的调用者 但会 劫持 当前函数代码的其余部分 直到等待 异步 函数完成 如果我误解了什么
  • 当前上下文中不存在名称“...”

    我的里面有一个清单Main 我正在尝试从变量中将一个项目添加到该列表中 但它抛出了错误 名称 dogList 在当前上下文中不存在 在我的里面addDog 方法 dogList Add 由于上述原因无法正常工作 namespace Dogg
  • postgresql 的 mysql_insert_id 替代品

    有没有替代方案mysql insert id PostgreSQL 的 php 函数 大多数框架通过查找 ID 中使用的序列的当前值来部分解决问题 但是 有时主键不是串行列 从 PostgreSQL 的角度来看 用伪代码来说 insert
  • Android 中的上传和下载速率分析[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试开发一个 Android 应用程序来测量网络的上传和下载速度 我可能需要每 2 秒左右运行一次并对其进行分析 SpeedTe
  • return Json 函数没有更新我的下拉列表

    我有一个包含填充下拉列表的视图 我添加了一个按钮 以便用户可以在 jquery 模式中添加新的下拉列表值 因此当用户单击添加新的下拉列表值时 我想刷新下拉列表 但目前没有任何更新 这是我对下拉列表的看法 model Communique M
  • 调用方法出错,启动jvm失败

    我正在使用 javafx v8 0 40 开发桌面应用程序 我用inno 5创建了一个exe文件 当我在计算机中运行exe文件时 它已安装并运行 没有任何问题 另一方面 当我尝试在其他计算机上安装并运行它时 在安装结束时 会弹出窗口对话框
  • 创建文件系统“驱动程序”

    我想为 Windows 物理磁盘上的自定义文件系统创建一个 驱动程序 我不完全知道解释它的最佳方式 但该设备已经具有适当的驱动程序以及 Windows 与之通信的所有内容 但我希望用户能够将设备插入到他们的电脑 将其显示在 我的电脑 中 并
  • 调用 didEnterBackground 后是否可以在主线程上执行某些操作?

    首先 如果您认为我的问题是虚拟的 我想说声抱歉 我是 iOS 和多线程的新手 只是想了解事情是如何发生的 据我所知didEnterBackground是 iOS 在应用程序挂起之前调用的最后一个函数 应用程序有大约 5 秒的时间从中返回 否
  • 用不均匀向量列表中的正值替换正表值

    背景 我最近问这个问题 https stackoverflow com questions 72899527 replacing a subset of table values with a list of vectors 然而 我使示例
  • 在 Excel 中打开特定电子表格的 win cmd 是什么?

    我知道您可以从 win cmd 行打开 Excel 文件 但是如何使用 win cmd 打开该文件中的特定电子表格呢 将以下代码粘贴到文本编辑器 记事本 写字板 Word ETC 例如 使用 vbs 扩展名保存文件 ExcelSheet2
  • 使用 Javascript 将数据/有效负载发送到 Google Chrome 推送通知

    我正在研究 Google Chrome 推送通知 并尝试将有效负载发送给 google Chrome 工作人员 但是我不知道如何接收此有效负载 我有一个 API 可以在数据库中创建和保存通知 我需要通过以下方式发送值 https andro
  • JACC 提供程序如何使用其部署的服务器的主体到角色映射功能?

    我正在写一个JACC提供者 在此过程中 这意味着实施PolicyConfiguration http download oracle com javaee 6 api javax security jacc PolicyConfigurat