我们有一个ASP.NET(3.5)应用程序,它使用表单身份验证来验证帐户。在登录表单上,我还使用LogonUser获取一个Windows登录令牌,我用它来模拟登录用户浏览私人目录(文件显示在GridView中,用户在绑定数据之前就被模拟了。)我刚刚了解到我们还需要在虚拟目录中模拟用户。有没有办法让我在加载虚拟目录之前模拟,或者在没有切换到Windows身份验证的情况下在整个应用程序中进行模拟?
答案 0 :(得分: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...
答案 1 :(得分:0)
虽然这篇文章已有几年历史,但它在解释模仿和授权方面做得很好。它讨论了设置虚拟目录以支持这一点: