I have a small web server running ASP.NET MVC on it. The Server is running with User "abc" but the User "abc" do not have rights for "changes" in ActiveDirectory.
So I have to pass the user login in the PrincipalContext with.
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, null, user, password))
{
GroupPrincipal theGroup = GroupPrincipal.FindByIdentity(context, groupId);
theGroup.Members.Add(context, IdentityType.SamAccountName, userId);
theGroup.Save();
}
the Code does work. But I do not like to transfair a Password from Methode to Methode... => on MVC I have a SSO and the Server knows me
System.Web.HttpContext.Current.User.Identity
It is possible to Use this Information?
new PrincipalContext(ContextType.Domain, null, [System.Web.HttpContext.Current.User]) ???
Or MUST I give the password. And how to best pass from view to this method.
thanks
This is called "impersonation". As long as you are using Windows authentication, you can do it with the
WindowsIdentity.Impersonate()
method: