我正在开始一个项目,允许现有的 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/