Wildfly 8.2 中的 Kerberos sql server 数据源

2024-01-08

我在 Wildfly 8.2.0 上设置针对 MS Sql Server 的 Kerberos 集成身份验证时遇到问题。

这是我到目前为止所做的:

  • 设法在 Wildfly 9.0.2 上运行它,只是因为 Wildfly 9 包含“新”登录模块类 org.jboss.security.negotiation.KerberosLoginModule。安全域配置如下:

    <login-module code="org.jboss.security.negotiation.KerberosLoginModule" flag="required" module="org.jboss.security.negotiation">
         <module-option name="storeKey" value="false"/>
         <module-option name="useKeyTab" value="false"/>
         <module-option name="principal" value="app-srv@REALM"/>
         <module-option name="useTicketCache" value="true"/>
         <module-option name="debug" value="true"/>
         <module-option name="refreshKrb5Config" value="true"/>
         <module-option name="isInitiator" value="true"/>
         <module-option name="addGSSCredential" value="true"/>
         <module-option name="delegationCredential" value="USE"/>
     </login-module>
    

    工作得很好。在将“addGSSCredential”添加到“true”之前,我收到错误“主题中没有匹配的凭据!”但后来我读到了这个人在这里说的话:https://developer.jboss.org/message/913652#913652 https://developer.jboss.org/message/913652#913652.

现在的问题是我不想要 Wildfly 9,我想将其设置在 Wildfly 8.2 上。应该可以吧?

因此,在 Wildfly 8.2 上:

  1. Wildfly 8.2 没有 KerberosLoginModule。相反,它使用 sun 提供的指定登录模块 (com.sun.security.auth.module.Krb5LoginModule)here https://docs.jboss.org/author/display/WFLY8/Security+subsystem+configuration
  2. 一旦我让 Wildfly 8 使用 Sun 的这个登录模块(不能开箱即用 - 这让我想知道 JBoss 的人是否真的测试过这个? - ...因为加载登录类的模块(org. picketbox)不依赖于 sun.jdk 模块,并且它会因 classnotfoundException 而失败),在添加 addGSSCredentials 选项之前,我偶然发现了在 Wildfly 9 上遇到的相同错误:“主题中没有匹配的凭据!”
  3. 问题是,Sun 登录模块类不支持 addGSSCredentials。

那么,有人曾经使用 Sun 类为 Wildfly 8.2 上的数据源设置 Kerberos 吗?或者我必须升级库才能从 jboss-negotiation 获取 KerberosLoginModule 吗?


我可以让它在 WildFly 8.2.1.Final 中工作的唯一方法是更新jboss-negotiation-common-<version>.jar and jboss-negotiation-extras-<version>.jar from 2.2.7.Final to 3.0.2.Final,WildFly 10.1.0.Final 提供的版本(抱歉,我没有尝试使用 WildFly 9 中的版本)。

你需要更新modules\system\layers\base\org\jboss\security\negotiation\main\参考新罐子。

或者,您可以直接更换整个org.jboss.security.negotiation模块的版本包含在 WildFly 10.1.0.Final 中。

作为参考,我的登录模块位于standalone.xml is:

<login-module code="org.jboss.security.negotiation.KerberosLoginModule" flag="required" module="org.jboss.security.negotiation">
    <module-option name="useTicketCache" value="true"/>
    <module-option name="debug" value="true"/>
    <module-option name="refreshKrb5Config" value="true"/>
    <module-option name="addGSSCredential" value="true"/>
</login-module>

我发现我不需要设置isInitiator or delegationCredential选项。

附言。感谢您发布这个问题!我在 Kerberos 身份验证方面遇到了很多问题,因为我正在设置storeKey to true直到我遇到这个。

PSS。我应该补充一点,我没有连接到 MS SQL Server,而是连接到 Apache Phoenix 数据源,这可以解释为什么我不需要设置一些登录选项。

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

Wildfly 8.2 中的 Kerberos sql server 数据源 的相关文章

随机推荐

  • OpenMP 并行 for 循环几乎没有性能提升

    我正在学习如何在 C 中使用 OpenMP 作为 HelloWorld 练习 我正在编写一个计算素数的程序 然后我将其并行化如下 int numprimes 0 pragma omp parallel for reduction numpr
  • 将 SimpleMembership 与 EF 模型优先结合使用

    Can 简单会员制与一起使用EF 模型优先 当我尝试时 我在调用时收到 无法找到请求的 NET Framework 数据提供程序 WebSecurity InitializeDatabaseConnection 换句话说 我无法接到电话We
  • 使用 JavaScript 从元素中删除 CSS 类(无 jQuery)[重复]

    这个问题在这里已经有答案了 谁能告诉我如何仅使用 JavaScript 删除元素上的类 请不要用 jQuery 给我答案 因为我不会使用它 而且我对此一无所知 正确且标准的方法是使用classList 就是现在大多数现代浏览器的最新版本得到
  • cd 到以“-”破折号开头的目录[重复]

    这个问题在这里已经有答案了 我正在学习 Git 我的第一个任务是导航到我的项目所在的目录 不幸的是 我的文档主文件夹具有以下形式 folder1 出于排序目的 以及每次我进入时 cd folder1 我收到错误 bash cd 参数太多 在
  • 如何删除/重命名 SQL 中的重复列(不是重复行)

    当尝试从 Sybase 到 Microsoft SQL 执行 OPENQUERY 时 我遇到错误 通过以下方式获得的结果集中不允许有重复的列名 OPENQUERY 和 OPENROWSET 列名 PatientID 重复 我构建的查询根据相
  • 我们如何在 C# 中设置 Excel 图表的位置?

    我正在尝试从 C 生成 Excel 图表 图表是通过查找生成的 但它总是出现在屏幕的中央 如何设置图表的位置 Thanks 我的代码如下所示 Microsoft Office Interop Excel Workbook ebook Mic
  • Lisp 中 1 和 '1 有什么区别?

    我从来没有真正考虑过 Lisp 中的符号是否可以是数字 所以今天我尝试了一下 gt 1 1 gt 1 1 2 gt 1 1 2 gt define a 1 gt a 1 2 上面的代码是方案 但在 Common Lisp 和 Clojure
  • Django:为每个请求/表单生成新的 CSRF 令牌

    我们是否可以更改每个表单请求甚至每个请求的 CSRF 令牌 而不是一个活动会话的相同令牌 假设您有权访问request object from django middleware csrf import rotate token rotat
  • 获取特定类的所有对象

    我必须通过引用列出作为类实例的对象 class Foo class Foo1 obj1 new Foo obj2 new Foo obj32 new Foo1 我需要一个解决方案来获取 Foo 类实例的所有对象 你知道怎么做吗 获取类的所有
  • 无法使用 Appium 移动 Android SeekBar

    我有一个像这样的定制Android搜索栏 以及它可以移动到的位置 它从中间开始 我想先移动滑块 然后检查它是否已保存 我有一个使用 TouchAction 的方法 public void moveSeekBar WebElement see
  • 二叉搜索树相对于哈希表的优点

    二叉搜索树相对于哈希表有哪些优点 哈希表可以在 Theta 1 时间内查找任何元素 并且添加元素也同样容易 但我不确定相反的优势 没有人指出的一项优点是二叉搜索树允许您有效地进行范围搜索 为了说明我的想法 我想举一个极端的例子 假设你想要获
  • 在 Xml 映射中使用 Hibernate 设置创建和更新时间

    我正在使用 HibernateXml映射 我有一个有两个字段的实体创建日期 and 更新日期类型的timestamp 当实体被持久化和更新时 必须用当前的 UTC 时间填充 我知道 的存在 PrePersist and PreUpdate注
  • CMU Sphinx 4 - 5 pre alpha 安装指南

    CMU Sphinx 4 5prealpha 最新版本 有好的 最好是分步安装指南吗 我找不到任何内容 而且官方指南已经过时了 我一直在尝试按照这些步骤操作 但完成后我缺少 2 个 jar jsapi 和标签 如果我尝试从 eclipse
  • 如何使用脚本化管道方法在参数化构建中定义标签参数

    我正在尝试解决与此问题相同的问题 如何使用管道插件在特定节点上触发詹金斯构建 https stackoverflow com questions 38240943 how to trigger a jenkins build on spec
  • Neo4j中如何找到跳数最少的最短路径?

    我正在建模一个图表 其中节点是位置 边缘表示您可以从一个地方到达另一个地方 这是拥有从一个地方到另一个地方可以采取的所有路线 并且您可以通过不同的路线从一个地方到达另一个地方 因此我想要一个查询 该查询可以返回路线变化最少的最短路径 比如我
  • 获取应用程序的Django版本

    我正在开始一个新的 实际上非 常旧的 项目 我知道它是在 Django 中的 我不知道它所构建的 Django 的确切版本 有没有办法知道我的应用程序正在运行的 Django 版本 唯一的方法就是猜测 我首先查看 settings py 文
  • 通过javascript获取SVG图形的大小

    要在 html 页面中添加 svg 图形 通常使用对象标签将其包裹起来 如下所示 this browser is not able to show SVG a href http getfirefox com http getfirefox
  • 如何调用工厂服务中定义的ng-click函数

    如何调用 ng click 中定义的工厂服务中的函数 app factory MyFactory function return setTest function test alert test app controller TestCtr
  • UserManager.FindAsync(用户名,密码)在 ASP.NET 5 / Identity 3 中不可用

    我正在尝试将项目升级到 ASP NET 5 MVC 6 AspNet Identity 附带的 UserManager 曾经有一个 FindAsync 方法 我可以在其中传递用户名和密码 它似乎不再存在了 我认为我不需要 SigninMan
  • Wildfly 8.2 中的 Kerberos sql server 数据源

    我在 Wildfly 8 2 0 上设置针对 MS Sql Server 的 Kerberos 集成身份验证时遇到问题 这是我到目前为止所做的 设法在 Wildfly 9 0 2 上运行它 只是因为 Wildfly 9 包含 新 登录模块类