2009-06-09 43 views
2

我们有一个使用Forms身份验证来验证帐户的ASP.NET(3.5)应用程序。在登录表单中,我还使用LogonUser获取了一个Windows登录标记,我使用它来模拟登录用户以浏览私人目录(文件显示在GridView中,并且用户在数据绑定之前模拟)。我刚刚了解到我们还需要在虚拟目录中模拟用户。有没有办法让我在加载虚拟目录之前模拟,或在整个应用程序中切换到Windows身份验证?如何在打开虚拟目录时模拟不同的用户?

回答

1

如果你只是执行单一任务(如访问网络资源)我喜欢用我创建现有AD帐户只是为了这样的目的和呼叫它在代码中。

我喜欢将这里找到的例子http://support.microsoft.com/kb/306158抽象成一个辅助类。这将允许做这样的事情......

helperImpersonate hI = new helperImpersonate(); 

if (hI.impersonateValidUser("ADUSERNAME", "DOMAIN", "PASSWORD")) 
{ 

    //DO STUFF HERE... 

    hI.undoImpersonation(); //undo the impersoination 
}//end if impersonate is true... 
+0

这就是我现在做的,但我不知道在哪里,当你浏览一个虚拟目录,或者我们可以做模拟在我们的代码,如果整个事情由IIS处理。 – pschorf 2009-06-10 17:20:22