public ActionResult Authenticate()

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 });
        }