【问题标题】:How can I impersonate a different user while opening a virtual directory?打开虚拟目录时如何模拟不同的用户?
【发布时间】:2010-11-01 13:59:31
【问题描述】:

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

【问题讨论】:

    标签: asp.net impersonation virtual-directory


    【解决方案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...
    

    【讨论】:

    • 这就是我目前所做的,但我不确定当您浏览虚拟目录时我们可以在代码中的何处进行模拟,或者整个事情是否由 IIS 处理。
    • 为什么您在创建虚拟目录时无法使用预先选择的 AD 帐户访问虚拟目录?或者创建后更改目录安全下的设置?
    猜你喜欢
    • 2011-01-08
    • 1970-01-01
    • 2014-09-13
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2019-05-31
    • 1970-01-01
    相关资源
    最近更新 更多