“Active Directory集成”在您的.NET应用程序中意味着什么?

时间:2008-12-22 12:41:37

标签: .net asp.net winforms active-directory

我们的营销部门回来时“主动目录集成”是关键客户要求,但我们公司似乎没有注意力(1)决定我们想要为此目的做出哪些功能变化,(2) )采访广泛的客户,以确定最需要的功能变化,(3)下周仍然是这个“烫手山芋”问题。为了帮助我超越“活动目录集成”的广泛主题,它在您的.NET应用程序(ASP.NET和WinForms)中意味着什么?

以下是我必须考虑的一些示例变更:

  1. 在您的应用中创建和管理用户时,管理员是否会看到所有AD用户或仅有一组AD用户的列表?
  2. 在您的应用中创建新的安全组(我们称之为“部门”,如“人力资源”)时,是否应该创建新的AD组?
  3. 管理员是否通过AD将用户分配到应用内或外部的安全组?这有关系吗?
  4. 用户是否因登录Windows而登录了您的应用?如果没有,您是否使用自己的用户表和某种外键跟踪用户到AD?您使用什么外键将应用用户链接到AD用户?您是否必须证明您的登录过程保护用户密码?
  5. 您使用什么外键将应用安全组链接到AD安全组?
  6. 如果你的应用程序有一个WinForms组件(我们有ASP.NET和WinForms),你在WinForms应用程序中使用成员资格提供程序吗?目前,我们的成员资格和角色管理早于框架的版本,因此我们不使用成员资格提供程序。
  7. 我是否遗漏了其他功能变化领域?

    跟进问题

    支持“Active Directory集成”的应用是否能够针对多个域对用户进行身份验证?不是一个用户会对多个域进行身份验证,而是同一系统的不同用户将针对不同的域进行身份验证。

5 个答案:

答案 0 :(得分:11)

从管理员的角度来看,我希望广告整合能够执行以下操作

  1. 永远不会回写AD,我只是不相信第三方软件
  2. 能够从AD导入用户
  3. 能够设置一个安全组,例如“ApplicationXYZ Users”用于软件分发和权限(共享文件夹,...),如果有必要,但这应该服从数字1,所以管理员创建安全性分组并告诉appserver它是哪一个。

  4. 单点登录(使用户更容易,因为他们只需要知道他们的Windows登录,并强制执行域范围的密码策略)

  5. 已停用的AD用户或不再位于“ApplicationXYZ用户”中的AD用户无法登录

  6. 将AD-Group链接到应用程序组,但这是可选的,我真的可以没有那个生活

  7. HTH

答案 1 :(得分:4)

作为将AD用户/组映射到应用程序中的内容的关键,我通常使用来自AD用户/组的安全标识符(SID)。

答案 2 :(得分:3)

  

用户是否因登录Windows而登录了您的应用程序?

对我而言,这首先是AD集成意味着什么(除了Windows lockin :-)。因此,例如,如果组织已实施公钥登录,则无需在应用程序中获取。

  

您是否必须证明您的登录过程可以保护用户密码?

如果你使用AD,你通常不会看到密码,除非你有一些遗留的NT4(当然不应该存储密码)。

  

管理员是否通过AD将用户分配到应用内或外部的安全组?有关系吗?

通过AD。单点登录后,一个主要的好处是能够使用任何AD工具来安全管理应用程序,报告权限,创建ACL等。您不必为每个应用程序重新发明这些东西。

答案 3 :(得分:2)

使用AD的一个主要优点是,它使专门的团队能够管理所有用户/授权事物。 通常,当新用户到达时,他的经理要求专门的团队授予他访问应用程序A B和C的权限,并且该团队可以直接从AD完成所有这些操作。事实上,他们经常复制另一个用户(通常是同事)。

答案 4 :(得分:2)

作为既是AD管理员又正在开发需要AD集成的内部应用程序的人,我的想法如下:

  • Active Directory用户具有唯一的GUID;如果您的应用需要支持两者 AD和AspNetSqlMembership身份验证,您的用户/个人表中可能有一个GUID FK字段,而一个标志表示用户所属的信息存储(表单或AD)
  • 作为管理员,我应该能够限制我的应用程序访问给定OU下的用户 - 我不希望我的SQL Server或BackupExec工作者帐户能够登录!
  • 在您的文档中,使用标准“用户”OU之外的OU - 大多数实际实现将其用户移出此容器,对于新手管理员,它会重新确保拥有包含OU的LDAP查询示例(例如MyCompany / Users / Executive或somesuch)
  • 如果您正在使用AD表单身份验证,那么您可能会陷阱并使用密码执行恶意操作。最好由您的法律部门在您的服务协议/保修中处理。