security - 应用程序内的简单 Active Directory 集成 - 应用程序商店应该包含什么?

标签 security authentication active-directory

我正在开始一个项目,允许现有的 Web 应用程序使用事件目录进行身份验证,但在应用程序内保留授权。我想从简单开始,所以我认为用户会在我现有的登录表单中输入他们的 AD 用户名/密码,然后我会针对 AD 服务器进行 ldap 绑定(bind)以对用户进行身份验证。 一旦用户通过身份验证,我就会从数据库中提取该用户,该数据库包含有关用户可以看到哪些功能的所有授权信息。

我的问题是存储在表中以进行关联的最佳 AD 元素是什么?过去我使用过用户名,但在查看 AD 返回的一些元素后,我想知道是否应该使用安全 ID 或 GUID 或其他内容?

当用户名发生变化(例如员工结婚或离婚)时,我感到很痛苦……所以我知道这很脆弱。

我的目标是 Windows 2003 AD 及以上版本(如果这有什么不同的话);这是针对一些客户拥有大型 AD 林而一些客户是小型网络的产品。

最佳答案

存储SID是最可靠的方法;这是所有 Microsoft AD 事物、安全组、权限等使用的唯一 ID。

如果您在 .Net 上进行构建,您应该认真考虑 .Net 3.5,它有一个新的命名空间 System.DirectoryServices.AccountManagement 大大简化了这里的代码,并为您提供了漂亮整洁的对象来对抗。

关于security - 应用程序内的简单 Active Directory 集成 - 应用程序商店应该包含什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/630787/

相关文章:

javascript - 我如何有效地使用 angularjs 并牢记安全性?

ios - 弹出 View Controller 到一个不存在的 View Controller

node.js - 使用 Node.js 连接到 PHP 网站并保持 session

c# - 获取 PrincipalContext 选择的域

c# - GetAuthorizationGroups() 抛出异常

java - 客户端无权调用此 JAX-RS EJB 错误

javascript - 防止 Osama Facebook 蠕虫

apache - 当url包含特殊字符时如何重定向错误页面?

java - 使用 RestTemplate 的 Spring Security 身份验证

c# - 自定义多因素 Active Directory 身份验证