in windows/aspnet-gmsa/dotnetdemoappMVC/Controllers/SecureController.cs [29:60]
public ActionResult Authenticate()
{
ViewBag.Message = "Test Windows Authentication";
var groupNames = new List<string>();
var wi = (WindowsIdentity)User.Identity;
var authenticationType = User.Identity.AuthenticationType;
if (authenticationType.ToLower() == "negotiate")
{
var authorizationHeader = this.Request.Headers["Authorization"];
if (authorizationHeader != null)
{
var authorizationEncoded = Convert.FromBase64String(authorizationHeader.Split(' ')[1]);
var authorizationDecoded = Encoding.UTF8.GetString(authorizationEncoded);
if (authorizationDecoded.Contains("NTLM"))
{
authenticationType += " (NTLM)";
}
else
{
authenticationType += " (Kerberos)";
}
}
}
foreach (var group in wi.Groups)
{
groupNames.Add(group.Translate(typeof(NTAccount)).Value);
}
return View(new SecureViewModel (){GroupNames = groupNames, AuthenticationType=authenticationType });
}