ASP.Net Get Group Membership from Windows Authenticated User
Hallo zusammen,
Heute wurde ich gefragt, ob es denn aus einer ASP.Net Applikation heraus möglich ist, die Active Directory Gruppenmitgliedschaft eines Users auszulesen, welcher sich auf einer Website anmeldet.
Klar - das ist ganz einfach. Im IIS Auf der Website nur Windows Authentification aktivieren.
web.config
<system.web>
<authentication mode="Windows" />
</system.web>
default.aspx
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Import Namespace="System.Collections" %>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim groups As New ArrayList()
Dim group As System.Security.Principal.IdentityReference
For Each group In System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups
groups.Add(group.Translate(GetType(System.Security.Principal.NTAccount)).ToString())
Response.Write("Group: " & group.Translate(GetType(System.Security.Principal.NTAccount)).ToString() & "<BR>")
Next
If groups.Contains("CORP\G-TestCorpIcewolfCH") Then
lblGroupMember.Text = "User is in that Group"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Get AD Group Membership</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:Label ID="lblGroupMember" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>