LDAP授权

2023-11-26

我开始使用 LDAP 为某些现有系统实现授权和身份验证机制。在开发阶段,我面临着一个艰难的设计决策:用户角色应该存储在哪里?

如果我使用 RDBMS,看起来会有三个表:user, role and 用户角色映射角色和用户。

请建议可用的解决方案。我考虑将用户角色存储在数据库中,将用户存储在 LDAP 中,但不确定这是否是最好的解决方案。我使用 JBoss 作为我的应用程序服务器。


从架构的角度来看,您有多种解决方案。这是一个将所有数据保存到目录中的解决方案。

在您的目录中,您可以使用具有“组”含义的类中的对象对“角色”进行编码,例如groupOfNames or group(取决于您的目录)。用户专有名称(DN)将它们编码在这些对象的多值属性中(通常member)。作为回报,“角色”对象 DN 可以在用户对象的多值属性中进行编码(例如:memberof)

如果您的目录支持引用完整性,它可以充当系统目录。然后member and memberOf属性可以由号码簿本身管理。这意味着,如果您将用户从一个组织单位移动到另一个组织单位,目录将刷新member用户所属的“角色”对象的属性。

在另一种情况下(无引用完整性),您的应用程序必须管理属性完整性。

虽然很短,但我希望它能有所帮助。


Edited

渴了我推荐你Apache 目录工作室,(对我来说)这是最好的 LDAP 浏览器之一。该工具将允许您查看您的目录并更友好地学习 LDAP。使用此工具,我向您展示 ADAM(Active Directory 应用程序模式)Microsoft 的免费目录编码“角色”的方式

在第一张图片中,您可以看到 AdminAdam 作为管理员组的成员:

AdminAdam as a member of the administrators group

在第二张图中,您可以在用户 adminAdam 的属性 memberof 中看到该组的存在。

the attribute memberof of the user adminAdam

ADAM 支持引用完整性。

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

LDAP授权 的相关文章

  • Active Directory B2C 身份验证以及在数据库中创建/存储用户 ID

    我正在制作一个移动应用程序 并希望使用 AD B2C 内容来处理用户的身份验证 我需要将它们的数据存储在 SQL DB 中 该数据库也位于 Azure 上 我打算让我的应用程序使用 REST 与我要编写的一些函数进行通信 然后与数据库后端进
  • Magento 外部登录不会创建会话 cookie

    我正在尝试从外部站点替换 Magento 的相当笨拙的 ajax 登录 该网站使用 Magento 作为商店 站点和 magento 商店都有自己的登录信息 因此当用户登录时 两者同步非常重要 这是通过每次页面重新加载时进行 ajax 调用
  • 身份验证后如何退出 Google

    所以我的应用程序可以选择使用 Google 登录 单击 Google 提供的按钮后 将打开一个 Web 视图并让用户输入其凭据 允许应用程序访问其信息后 应用程序将用户登录并将 SignInViewController 更改为 TabBar
  • Rails:RSpec - nil:NilClass 的未定义方法“cookie_jar”

    铁轨新手 尝试遵循迈克尔 哈特尔的教程 尝试添加辅助方法来模拟 RSpec 测试中的日志时陷入困境 describe when the a user has logged in and attempts to visit the page
  • 识别用户是否在 iOS 6 设置中定义了本机 Facebook 帐户

    有没有办法通过 FACEBOOK SDK 3 1 和 iOS 6 知道用户是否在 iPhone 设置中定义了其 Facebook 帐户以供本机 Facebook 使用 我想要做的是 当打开我的应用程序时 如果用户在 iPhone 设置中定义
  • 如何在会话失效后强制 Jetty 通过 BASIC 身份验证请求凭据?

    我使用 jetty 6 1 22 和 BASIC 身份验证作为我的登录机制 我第一次登录网络应用程序时 浏览器会请求用户名和密码 如果尝试使用 session invalidate 注销 会话将失效 但凭据会被缓存 这意味着 如果我尝试连接
  • Auth0 isAuthenticated() 始终为 false

    我正在使用 Extjs 并且我用过本教程 https github com auth0 samples auth0 javascript samples tree master 01 Login设置应用程序和 auth0 这是登录代码 us
  • 在 keycloak 令牌中使用“sub”声明作为内部数据库中的用户 ID 是否安全

    我正在开发一个将来可能支持社交登录的应用程序 除了我们自己的 keycloak 用户名 电子邮件注册之外 我正在尝试确定使用 keycloak ID 令牌中的 sub 声明作为我们内部 mongo 数据库中用户的主键 id 字段 是否安全
  • 数据库文件和 ASP.NET 登录控件

    我正在尝试 ASP NET 登录控制教程 一切正常 但是 我不知道如何让登录控件使用我自己的数据库 SQL Server 2005 而不是使用它的 mdf 文件 我也不知道这个文件是从哪里创建的 因为它根本没有出现在我的解决方案中 如果我能
  • HttpURLConnection 在 Android 2.x 中工作正常,但在 4.1 中不行:未发现身份验证挑战

    我有一些典型的代码 它们使用 HttpURLConnection 来获取带有 URL 的文件 它们在 android 1 x 和 2 x 中运行良好 但在Android 4 1中失败了 我在网上搜索了一下 但几乎没有找到类似的信息 有人愿意
  • 如何在没有 (L)GPL 库的情况下在 Python 中创建双重身份验证 HTTPS 客户端?

    客户端和服务器都是内部的 各自都有一个由内部CA签名的证书和CA证书 我需要客户端根据服务器拥有的 CA 证书来验证服务器的证书 它还应该将其证书发送到服务器进行身份验证 The urllib2手册说不执行服务器身份验证 PycURL是一个
  • 如何使用 LDAP 身份验证使用 gitlab 设置管理员用户?

    我刚刚设置了 gitlab 但我完全迷失了管理员用户 维基百科似乎对这个话题保持沉默 谷歌也没有提供帮助 那么 如何在 LDAP 身份验证上使用 gitlab 设置管理员用户 您还可以通过在 Rails 控制台中执行以下操作来为用户设置管理
  • 为移动应用程序创建 API - 身份验证和授权

    Overview 我正在寻找为我的应用程序创建一个 REST API 最初 主要目的是供移动应用程序 iPhone Android Symbian 等 使用 我一直在研究基于 Web 的 API 的身份验证和授权的不同机制 通过研究其他实现
  • 在本地安全存储用于 Web 服务的密码

    我有一个应用程序 通过发送用户名和密码来对第三方 Web 服务进行身份验证 目前 我每次启动应用程序时都会在 winform 上输入密码 但我需要它自动登录 我想比更安全地存储用户名 密码 Dim username as String us
  • 如何使用多重身份验证 - firebase?

    我有一个注册屏幕 其中包含 用户名 电子邮件 电话号码 密码 在本例中 我使用电话号码身份验证来验证号码 因此在用户验证他的号码后 我将他的数据保存到 firebase DB 中 所以在那之后 我将下摆导航到登录屏幕 应该包含电子邮件 密码
  • Mongoose 模型 update() 与 save()

    有一个关于问题update vs save https stackoverflow com questions 39010045 mongoose update vs save 但它针对的是一些不同的东西 我猜 纯粹相关mongoose S
  • 如何在 ASP.NET MVC 中手动设置用户角色?

    我正在从事的这个项目要求我保留管理员用户的本地数据库 并为普通用户使用外部数据库 在管理数据库中通过身份验证的任何人都应被分配 管理员 角色 而通过其他数据库进行身份验证的任何人将始终被分配 用户 角色 我可以手动分配这些角色吗 我不需要角
  • Firebase GAS webapp Google 弹出窗口消失

    我正在尝试升级我的 firebase GAS web 应用程序 之前我有一个弹出窗口 可以让用户使用 Google 登录 我不确定我做错了什么 但我已经升级到新的 firebase 现在正在尝试使用新的代码格式进行相同的登录 发生的情况是
  • 使用 Django REST 框架进行 SAML SSO 身份验证

    我目前正在开发 AngularJS 前端和 Django REST 后端 我一直在使用Django rest auth https github com Tivix django rest auth过去需要对两者之间的连接进行身份验证 但现
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template

随机推荐

  • 使用 jQuery 模拟单击​​选择元素

    我用这个代码来模拟click on select元素 function click click function ts click ts trigger click HTML 代码是
  • 如何在 Dart 中对带有德语变音符号的字符串列表进行排序?

    如何使用变音符号对列表进行排序 CompareTo Function 会忽略这些并将单词放在列表的末尾 main var fruits pfel Bananen Orangen fruits sort a b gt a compareTo
  • BasicHttpBinding 与证书身份验证 - 错误“禁止”?

    我正在尝试使用 BasicHttpBinding 在传输级别上使用 SSL 证书让 WCF 服务器和客户端相互进行身份验证 服务器的创建方式如下 var soapBinding new BasicHttpBinding Namespace
  • 在 PHP 中使用 ssl 证书时出错

    我是 php 新手 尝试加载证书时遇到此错误 jameys macbookpro41 user php f Sites providerService php 警告 stream socket client 无法设置本地证书链文件 cert
  • @Nullable/@NotNull 与 IntelliJ IDEA、Maven 和 JSR 305

    我真的很喜欢代码检查功能 现在可以使用 JSR 305 或 Jetbrains 的 IntelliJ 专有注释 不幸的是 这两种实现 JSR 305 和 Jetbrains 不能很好地混合 IntelliJ 显然只理解它自己专有的注释集并将
  • DOM 文本节点是否保证不会被解释为 HTML?

    有谁知道 DOMNode类型的Text保证不会被浏览器解释为HTML 更多详细信息如下 背景 我正在为一个朋友构建一个简单的网络评论系统 并且我一直在考虑XSS攻击 我不认为过滤或转义 HTML 标签是一个非常优雅的解决方案 很容易想出一个
  • C C++内存泄漏的原因

    C C 内存泄漏的原因是什么 除了通常分配内存而忘记释放它 如果在分配和释放之间引发异常 就会发生内存泄漏 void f1 int ptr new int do something which may throw an exception
  • Tabula-py - 导入错误:没有名为 tabula 的模块

    我正在尝试使用 Tabula py 来阅读 pdf 我通过安装 tabula pypip install tabula py 我还安装了所需的依赖项 requests pandas pytest flake8 我的代码目前如下 import
  • 如何进行 SPARQL 查询来查找属性的最高值?

    假设我有一个像 age 这样的谓词 其中所有年龄三元组的值都是整数 哪个 SPARQL 查询会返回数据中年龄最高的主题 你只需要做order by desc与年龄谓词然后limit只得到第一个 PREFIX ns
  • 从同一个 FileInputStream 读取字符串和二进制

    我有一个文件 开头包含一些纯文本 结尾包含二进制内容 二进制内容的大小由我读取的某些纯文本行决定 我当时用的是BufferedReader读取各个行 但是它没有公开任何方法来引用读取字节数组 这readUTF for a DataInput
  • Azure DocumentDB 按 ID 查询非常慢

    我有一个 16GB 的集合 有 2 个分区 当我通过 ID 查询文档时 速度非常慢 但是通过索引字段查询速度很快 两者都是跨分区查询 如果我通过查询传递分区键 速度会很快 但分区键并不总是可用于我的查询 在 Azure 门户中使用 NET
  • 如何对使用 jspdf 和 html2canvas 生成的文件进行 Base64 编码?

    我正在尝试对附加代码中生成的文档进行编码 但没有任何反应 不会生成错误 但也不会对文件进行编码 并且ajax request从未被执行过 正确的方法是什么 html2canvas document getElementById workAr
  • 使用“--without-heartbeat”标志运行的芹菜工作人员对应用程序的影响

    讨论here高层讨论了与 celery 工人一起运行的一些影响 without hearbeat without gossip without mingle flags 我想知道是否 without heartbeat标志会影响工作人员检测
  • Python Statsmodels Mixedlm(混合线性模型)随机效应

    我对 Statsmodels Mixedlm 的输出有点困惑 希望有人能解释一下 我有一个大的单户住宅数据集 包括每个房产的前两次销售价格 销售日期 我已经对整个数据集进行了地理编码 并获取了每个属性的海拔 我试图了解不同城市之间海拔与房价
  • Runtime.maxMemory() 和 -Xmx

    我期望 Runtime maxMemory 准确返回 Xmx 但它返回一个较低的值 那么它返回什么呢 Xmx 标志的解释取决于 VM 一些虚拟机 包括 HotSpot 对有效值施加下限 这个选项 CCC 提案不应提及 Xmx 标志 这样 参
  • 在 Windows 版 Safari 中启用调试菜单

    我在 Safari 3 中找到了很多关于此问题的信息 但在版本 4 中情况明显发生了变化 我只是碰巧通过实验偶然发现了答案 因此将其发布在这里供其他人使用 在 Windows 版 Safari 5 1 7 中进行检查 点击右上角Settin
  • 正确设置 3d 图中的轴限制[重复]

    这个问题在这里已经有答案了 我在 matplotlib 中为 3d 图设置限制时遇到问题 我发现无论我如何设置 x y 和 z 轴的限制 3dplots 的绘图例程都会添加额外的缓冲区 from mpl toolkits mplot3d i
  • 在linux上用什么来使python程序可执行

    我刚刚安装了一个linux系统 Kubuntu 想知道是否有一个程序可以使python程序在linux上可执行 只需将其放在脚本的第一行 usr bin env python 使文件可执行 chmod x myfile py 执行与 myf
  • 我是否应该在统一缓冲区或着色器存储缓冲区对象内使用“vec3”?

    The vec3type 是一个非常好的类型 它只占用3个浮点数 而我有只需要3个浮点数的数据 我想在 UBO 和 或 SSBO 的结构中使用一个 layout std140 uniform UBO vec4 data1 vec3 data
  • LDAP授权

    我开始使用 LDAP 为某些现有系统实现授权和身份验证机制 在开发阶段 我面临着一个艰难的设计决策 用户角色应该存储在哪里 如果我使用 RDBMS 看起来会有三个表 user role and 用户角色映射角色和用户 请建议可用的解决方案