当前位置: 首页>>代码示例>>C#>>正文


C# AuthorizationContext.SkipAuthorisation方法代码示例

本文整理汇总了C#中System.Web.Mvc.AuthorizationContext.SkipAuthorisation方法的典型用法代码示例。如果您正苦于以下问题:C# AuthorizationContext.SkipAuthorisation方法的具体用法?C# AuthorizationContext.SkipAuthorisation怎么用?C# AuthorizationContext.SkipAuthorisation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Web.Mvc.AuthorizationContext的用法示例。


在下文中一共展示了AuthorizationContext.SkipAuthorisation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: OnAuthorization

        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext.SkipAuthorisation())
            {
                return;
            }

            var identity = (ClaimsIdentity)filterContext.HttpContext.User.Identity;
            var hasEmailVerifiedClaim = identity.HasClaim(c => c.Type.Equals(JwtClaimTypes.EmailVerified));

            if (hasEmailVerifiedClaim && identity.Claims.Single(c => c.Type.Equals(JwtClaimTypes.EmailVerified)).Value.Equals("false", StringComparison.InvariantCultureIgnoreCase))
            {
                bool userIsInternal = ((ClaimsIdentity)filterContext.HttpContext.User.Identity).HasClaim(
                    ClaimTypes.AuthenticationMethod, Claims.CanAccessInternalArea);

                if (userIsInternal)
                {
                    filterContext.Result = new RedirectResult("~/Admin/Account/AdminAccountActivationRequired");
                }
                else
                {
                    filterContext.Result = new RedirectResult("~/Account/UserAccountActivationRequired");
                }
            }
        }
开发者ID:EnvironmentAgency,项目名称:prsd-weee,代码行数:25,代码来源:UserAccountActivationAttribute.cs

示例2: OnAuthorization

        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext.IsChildAction || filterContext.SkipAuthorisation())
            {
                return;
            }

            var principal = (ClaimsPrincipal)filterContext.HttpContext.User;
            var identity = (ClaimsIdentity)filterContext.HttpContext.User.Identity;

            if (!identity.IsAuthenticated)
            {
                return;
            }

            var organisationRegistered = identity.HasClaim(c => c.Type.Equals(ClaimTypes.OrganisationId));

            if (principal.IsInternalUser())
            {
                return;
            }

            if (!organisationRegistered)
            {
                filterContext.Result = new RedirectToRouteResult(
                    new RouteValueDictionary(new { controller = "Registration", action = "CreateNewOrganisation", area = string.Empty }));
            }
        }
开发者ID:EnvironmentAgency,项目名称:prsd-iws,代码行数:28,代码来源:OrganisationRequiredAttribute.cs

示例3: OnAuthorization

        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext.IsChildAction || filterContext.SkipAuthorisation())
            {
                return;
            }

            var principal = (ClaimsPrincipal)filterContext.HttpContext.User;
            var identity = (ClaimsIdentity)principal.Identity;

            var hasEmailVerifiedClaim = identity.HasClaim(c => c.Type.Equals(JwtClaimTypes.EmailVerified));

            if (hasEmailVerifiedClaim && identity.Claims.Any(c => 
                    c.Type.Equals(JwtClaimTypes.EmailVerified) 
                    && c.Value.Equals("false", StringComparison.InvariantCultureIgnoreCase)))                
            {
                var redirectAddress = principal.IsInternalUser() 
                    ? new RouteValueDictionary(new { controller = "Registration", action = "AdminEmailVerificationRequired", area = "Admin" })
                    : new RouteValueDictionary(new { controller = "Account", action = "EmailVerificationRequired", area = string.Empty });

                filterContext.Result = new RedirectToRouteResult(redirectAddress);
            }
        }
开发者ID:EnvironmentAgency,项目名称:prsd-iws,代码行数:23,代码来源:EmailVerificationRequiredAttribute.cs


注:本文中的System.Web.Mvc.AuthorizationContext.SkipAuthorisation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。