在Active Directory中存储公共网站的用户

时间:2010-01-19 03:59:22

标签: authentication architecture web-applications active-directory authorization

我正在为基金/养老金经理制定系统架构。我们提供两个ASP.NET MVC Web应用程序;一个允许养老基金的成员登录和检查他们的余额,管理他们的投资等,另一个允许雇主代表雇员(成员)向基金捐款。还有通过内联网提供的内部应用程序。

我们一直在考虑使用Active Directory来存储,验证/授权不仅是内部用户(已经使用AD登录域和资源授权),还包括成员和雇主用户帐户。成员和雇主用户帐户将位于内部用户的不同层次结构(甚至可能是不同的AD实例?)。

但是我想知道这是否是AD的最佳用例......鉴于AD是一种“内部”资源,它是否应该用于保存“外部”用户的auth详细信息(替代方案是USERS表)在数据库中)?

优点是:AD经过精心设计和优化,可以轻松存储此类数据,ASP.NET应用程序可以轻松集成AD授权,可能存在处理数据的现有工具(密码重置等)。

有什么风险?

2 个答案:

答案 0 :(得分:5)

我建议不要使用内部和外部用户的混合体。从经验来看,它打开了许多安全问题。创建单独的身份验证系统可能会更好,一个使用AD直接对内部域使用AD,另一个使用仅为保留外部用户而设计的ADAM目录。 (即 - 内部用户应使用NTLM与AD进行身份验证,以确保kerberos加密登录,而表单可用于ADAM实例)。

AD很容易集成,如果由于网络集块而不希望直接集成,您总是可以尝试使用LDAP://来获得相同的身份验证结果。

答案 1 :(得分:0)

我认为您最大的风险是AD无法扩展到您可能从互联网应用中获得的用户数量。我会使用会员提供商,除非您尝试使用内部和外部帐户实现SSO。