예제 #1
0
        protected async Task <ScanCenterProfileModel> GetLoggedinUser()
        {
            if (User.Identity.IsAuthenticated)
            {
                var identity = (System.Security.Claims.ClaimsIdentity)User.Identity;
                IEnumerable <System.Security.Claims.Claim> claims = identity.Claims;
                var claimType = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Role)
                                .Select(s => s.Value)?.FirstOrDefault()?.ToString();
                var email = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Email).Select(s => s.Value)?.FirstOrDefault()?.ToString();
                var user  = await _scanCenterProfileQuery.GetByEmail(email);

                return(user);
            }
            return(null);
        }
예제 #2
0
        protected async Task <bool> CheckAuth(int profileId)
        {
            if (User.Identity.IsAuthenticated)
            {
                var identity = (System.Security.Claims.ClaimsIdentity)User.Identity;
                IEnumerable <System.Security.Claims.Claim> claims = identity.Claims;
                var claimType = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Role).Select(s => s.Value)?.FirstOrDefault()?.ToString();
                if (claimType.ToLower() == "corporateadmin")
                {
                    return(true);
                }
                var email = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Email).Select(s => s.Value)?.FirstOrDefault()?.ToString();
                var user  = await _scanCenterProfileQuery.GetByEmail(email);

                return(user.Id == profileId);
            }

            return(false);
        }