HttpContext.User.Identity中缺少组内置管理员(SID:S-1-5-32-544)

时间:2015-01-30 14:55:59

标签: c# asp.net-mvc asp.net-mvc-4 iis windows-authentication

我正在使用Windows身份验证,并想知道登录用户是否属于该组'内置管理员'。我使用以下代码剪切在我的MVC4-Application中找到它:

   // user identity
    var lIdentity = HttpContext.User.Identity as WindowsIdentity;

    // get all Group-Sids, the current users belongs to.
    var lSids = lIdentity.Groups;

内置管理员组(SID S-1-5-32-544)未在lSids中列出。

但是当我在同一个用户上使用cmd whoami /groups时,会显示SID S-1-5-32-544。

如果登录用户属于内置管理员组,我怎样才能在我的MVC4中找到。

1 个答案:

答案 0 :(得分:0)

您可以通过访问 Claims 而不是 Groups 来实现这一点。

这是如何做到的:

var claims = lIdentity.Claims;
var claimSids = claims.Select(claim => claim.Value).ToList();