我向客户演示了我的WPF应用程序,他问我是否有LDAP或可以与Active Directory(AD)集成。
我的应用程序有自己的内置用户安全性和数据访问安全性。我使用我的安全框架来验证并授予屏幕和数据访问权限。客户端问我是否可以添加或集成活动目录。他需要用户只记住他的Windows密码,而不是我的应用程序。
我可以实现Active Directory逻辑但是我必须修改我的应用程序以将Active Directory用户与我的应用程序的用户相关联,这样当AD用户登录时,他就会被认证并关联为本地用户,因为本地用户需要与他的安全和数据访问设置相关联。这是要走的路吗?
我将使用.NET 3.5类等。这意味着我的应用程序的管理员应该转到用户屏幕并将本地用户与LDAP用户关联。?
答案 0 :(得分:8)
不,我不认为你提出的建议听起来是正确的做法。
相反,您应该将安全性建立在可插拔体系结构(例如IPrincipal
)上,然后通过某种方式将您的应用程序配置为使用您自己的安全框架或仅使用WindowsPrincipal
(源自IPrincipal
):
Thread.CurrentPrincipal
。
如果配置为使用AD,它只是默默地将Thread.CurrentPrincipal
设置为WindowsIdentity.GetCurrent()
(包含在WindowsPrincipal
中)。
看看ASP.NET或WCF如何处理安全问题 - 这基本上就是他们的工作。