Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让C#If-Else逻辑排除广告安全组的成员?_C#_Asp.net_Webforms - Fatal编程技术网

如何让C#If-Else逻辑排除广告安全组的成员?

如何让C#If-Else逻辑排除广告安全组的成员?,c#,asp.net,webforms,C#,Asp.net,Webforms,我有以下代码来获取当前用户的广告安全组 PrincipalContext ctx = new PrincipalContext(ContextType.Domain); PrincipalSearchResult<Principal> groups = UserPrincipal.FindByIdentity(ctx, User.Identity.Name).GetAuthorizationGroups(); IEnumerable

我有以下代码来获取当前用户的广告安全组

        PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

        PrincipalSearchResult<Principal> groups = UserPrincipal.FindByIdentity(ctx, User.Identity.Name).GetAuthorizationGroups();

        IEnumerable<string> groupNames = groups.Select(x => x.Name);
我还尝试了以下方法,但它也不起作用-而是让每个人都可以查看页面:

if (groupNames.Contains("Admins") || groupNames.Contains("Mgrs"))
        {
            return;
        }
        else
        {
            Response.Redirect("~/AccessDenied.aspx");
        }
我的语法或逻辑是否不正确?我需要“Admins”或“Mgrs”安全组中的所有用户都能够访问该页面,并且所有其他用户都应重定向到AccessDenied.aspx


这是一个使用visual studio 2019的asp.net webforms应用程序。

我不知道为什么,但它现在正在工作。我用的是相同的代码,没有变化

if (groupNames.Contains("Admins") || groupNames.Contains("Mgrs"))
    {
        return;
    }
    else
    {
        Response.Redirect("~/AccessDenied.aspx");
    }

语法和布尔逻辑似乎是正确的。您是否使用调试器确认
groupNames
确实包含您认为它包含的内容?搜索“管理员”而不是“管理员”如何。尝试查找您正在搜索的确切字符串。哦,注意语言规范。在德国环境中,您将获得“Administratoren”而不是“Administrators”
if (groupNames.Contains("Admins") || groupNames.Contains("Mgrs"))
    {
        return;
    }
    else
    {
        Response.Redirect("~/AccessDenied.aspx");
    }