托管environment.impersonate无法与服务器上的System.DirectoryServices.AccountManagement一起使用

发布于 2024-12-04 23:13:36 字数 762 浏览 1 评论 0原文

您好,我想检索属于登录用户的组,我尝试了以下代码,但它在服务器上不起作用。

   using (System.Web.Hosting.HostingEnvironment.Impersonate())
   {  
    string userName = HttpContext.Current.User.Identity.Name;
           PrincipalContext domain = new PrincipalContext(ContextType.Domain);
    UserPrincipal User = new UserPrincipal(domain);
    User = UserPrincipal.FindByIdentity(domain, userName);
    var strUnAuthorised = "";
    if (User != null)
    {
        PrincipalSearchResult<Principal> gp = User.GetGroups();
        foreach (Principal p in gp)
        {
            if (p.DisplayName == "xyz")
            {
                IsInGroup = true;
                break;
            }
        }
    }
}

此后,当我尝试从服务器读取一个 xml 文件时,我收到未经授权的错误。请帮助我,我很挣扎

Hi I want to retrieve the groups belonging to logged in user I tried following code but it is not working on the server.

   using (System.Web.Hosting.HostingEnvironment.Impersonate())
   {  
    string userName = HttpContext.Current.User.Identity.Name;
           PrincipalContext domain = new PrincipalContext(ContextType.Domain);
    UserPrincipal User = new UserPrincipal(domain);
    User = UserPrincipal.FindByIdentity(domain, userName);
    var strUnAuthorised = "";
    if (User != null)
    {
        PrincipalSearchResult<Principal> gp = User.GetGroups();
        foreach (Principal p in gp)
        {
            if (p.DisplayName == "xyz")
            {
                IsInGroup = true;
                break;
            }
        }
    }
}

after this when I am trying to read one xml file from the server I am getting not authorised error. please help me I am struggling alot

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文