コード例 #1
0
        public async Task ValidatePrincipal(CookieValidatePrincipalContext context)
        {
            // TODO: uncomment this after next release of aspnet core
            // and fix the broken
            // it needs to resolve options per tenant
            //await securityStampValidator.ValidateAsync(context);


            TenantContext<SiteSettings> siteContext
                = await siteResolver.ResolveAsync(contextAccessor.HttpContext);
            
            if (siteContext == null)
            {
                context.RejectPrincipal();
            }

            if (siteContext.Tenant == null)
            {
                context.RejectPrincipal();
            }

            Claim siteGuidClaim = new Claim("SiteGuid", siteContext.Tenant.SiteGuid.ToString());

            if (!context.Principal.HasClaim(siteGuidClaim.Type, siteGuidClaim.Value))
            {
                log.LogInformation("rejecting principal because it does not have siteguid");
                context.RejectPrincipal();
            }
            
           // return Task.FromResult(0);
        }
コード例 #2
0
 public async Task ValidateAsync(CookieValidatePrincipalContext context) {
   string userId = context.Principal.GetUserId();
   var principal = await ValidateSecurityStamp(context.Principal, userId);
   if (principal != null) {
     context.ReplacePrincipal(principal);
     context.ShouldRenew = true;
   } else {
     context.RejectPrincipal();
     await context.HttpContext.Authentication.LogOffAsync(Options);
   }
 }
コード例 #3
0
        public async Task ValidatePrincipal(CookieValidatePrincipalContext context)
        {
            await securityStampValidator.ValidateAsync(context);
            
            ISiteSettings site = siteResolver.Resolve();
            if (site == null)
            {
                context.RejectPrincipal();
            }

            Claim siteGuidClaim = new Claim("SiteGuid", site.SiteGuid.ToString());

            if (!context.Principal.HasClaim(siteGuidClaim.Type, siteGuidClaim.Value))
            {
                log.LogInformation("rejecting principal because it does not have siteguid");
                context.RejectPrincipal();
            }
            
           // return Task.FromResult(0);
        }