2012-09-13 46 views
0

我们正试图将传统Intranet ASP .NET Web应用程序从“基于表单”的身份验证迁移到基于“Windows”的身份验证,以便用户不必再次输入凭据登录到PC后,我们只想读取当前登录的身份,并使用它来在应用程序中对用户进行身份验证和授权。在ASP .NETASP.NET应用程序中的Windows身份验证

做Windows身份验证是非常简单的,我想检查虽然是如何在用户和他们的群体应该AD或ADAM内进行管理。所以相同的域帐户需要在多种环境中(不同的URL)被认证

同一用户可以对等开发,UAT,LT,PROD等相同的应用程序的多个环境中的权利。而且,一旦认证到环境中,用户可能属于多个角色,这决定了用户可以执行的操作。

我在这里寻找一些关于如何在AD中设置这个结构的建议,我们正在考虑在AD中为App_Dev,App_UAT,App_Prod等不同环境创建组,并且在每个组中都有嵌套组他们为应用程序中的不同角色(如App_Dev \ Role1,App_Dev \ Role2,App_UAT \ Role1等)为每个环境添加用户。

你们认为什么?

回答

0

您必须记住身份验证和授权是两个不同的事情。你已经将它们结合在你的逻辑中。

例如,您的身份验证机制是AD。所以是的,使用AD进行身份验证和组成员身份验证,以确保他们可以使用特定实例进行身份验证。

但是,你仍然可以使用经典RolesProvider并使用SQL后端数据库中的角色和用户存储的角色每个实例分配。这很简单,并且使用ASP.NET的内置功能,而无需在AD中创建组。您可以在网上进行关于ASP.NET AD Authentication and SQL Roles Provider的各种搜索。我认为ScottGu甚至有一篇关于如何去做的旧文章。

最后,你在这里描述的不是SSO或Single Sign-On,我会更新你的问题,以反映这一点。 SSO指的是创建一个令人信任并在许多应用程序中共享的令牌。它似乎并不像你提供的例子那样需要,但如果你这样做,你将会调查ADFS和Windows Identity Foundation(WIF)。仅仅因为您使用AD并不意味着您拥有SSO,它仅仅意味着您拥有一个身份验证提供程序,但您仍然没有基于标记的系统,通常实际上只需要对中央身份验证服务进行初始身份验证和授权请求,通常ADFS。

+0

感谢您的回复并纠正了这个问题.... – Metallikanz

相关问题