2011-11-01 63 views
0

我确实有一个Intranet Web应用程序,应该在客户端部署,我不知道客户端的用户和角色。现在我可以在我的本地系统中vs2008的开发环境中与Active Directory进行通信。我能够在我的开发环境中对特定用户进行身份验证。部署时的活动目录身份验证方案?

我有点困惑在这里了解实际部署方案与Active directory.I如何工作确实有SQLSERVER数据库体验,超级用户可以添加用户,然后向他们分配角色。(那怎么我​​的应用程序的工作)

但在实时情况下,活动目录身份验证在部署后如何工作,因为我没有访问客户端位置以部署Intranet应用程序。我完全不知道活动目录中的用户或他们的角色或组?

是否有我可以处理的一般情况,以便我可以实现活动目录方案?

回答

2

鉴于这是一个Intranet应用程序,您应该使用Windows身份验证。 在托管应用程序的IIS中,应将Windows身份验证设置为启用,并且IIS将使用活动目录对用户进行身份验证。

调用此代码

IPrincipal credentials = (IPrincipal)HttpContext.Current.User; 
bool isAuthenticated = false; 
if (credentials != null) 
{ 
    WindowsIdentity identity = (WindowsIdentity)credentials.Identity; 
    isAuthenticated = identity.IsAuthenticated; 
} 
if (isAuthenticated != null) 
{ //do what needs to be done } 

当你需要对用户进行验证,他将与Windows日志的形式,他可以进入他的活动目录控制帐户凭据呈现。

好运

+0

:我也尝试这种方式,但它要求凭据只有一次当您启动application.But一旦你退出应用程序就不会再次提示您输入凭据因为你已经登录到系统或计算机。我希望你在这里明白我的观点。 – Macnique

+0

是的,我明白,但为什么这是一个问题?如果在同一台机器上有多个用户,那么你可以让用户注销,如http://stackoverflow.com/questions/1067263/asp-net-windows-authentication-logout中所述。 – Constantin