Пример #1
0
        private async Task <SurveySecurityProfile> LogIn()
        {
            var securityProfile = new SurveySecurityProfile(UserName, config);

            if (securityProfile.Role == "NotAuthorized")
            {
                return(null);
            }

            string issuer = Environment.GetEnvironmentVariable("Domain");

            Rep rep = repManager.Find(x => x.Username == securityProfile.UserName).SingleOrDefault();

            var claims = new List <Claim> {
                new Claim("Username", securityProfile.UserName, ClaimValueTypes.String, issuer),
                new Claim(ClaimTypes.Role, securityProfile.Role, ClaimValueTypes.String, issuer),
                new Claim("RepId", Convert.ToString(rep?.RepId ?? 0), ClaimValueTypes.Integer),
                new Claim("UserType", Convert.ToString(securityProfile.UserType), ClaimValueTypes.Integer)
            };

            var claimsIdentity = new ClaimsIdentity(claims, "SuperSecureLogin");

            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                new ClaimsPrincipal(claimsIdentity),
                new AuthenticationProperties
            {
                ExpiresUtc   = DateTime.UtcNow.AddMinutes(20),
                IsPersistent = false,
                AllowRefresh = false
            });

            return(securityProfile);
        }
Пример #2
0
        // GET: Account
        public IActionResult Index(string returnUrl = null)
        {
            SurveySecurityProfile securityProfile = LogIn().Result;

            return(Redirect(securityProfile == null ? "~/Home/Unauthorized/" : returnUrl));
        }