首页 新闻 会员 周边 捐助

请问一下在asp.net core 如何重写AuthorizeAttribute @dudu

0
悬赏园豆:5 [已解决问题] 解决于 2018-01-05 16:25
public class MyAuthorizeAttribute : AuthorizeAttribute
    {

        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //return base.AuthorizeCore(httpContext);
            return DateTime.Now.Minute % 2 == 0
        }


        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.HttpContext.Response.Redirect("/Customer/Login");

            //base.HandleUnauthorizedRequest(filterContext);
        }
    }

用asp.net mvc的方法好象不行啊。指点一下呗

87Super的主页 87Super | 初学一级 | 园豆:107
提问于:2018-01-02 17:20
< >
分享
最佳答案
0
收获园豆:5
dudu | 高人七级 |园豆:30925 | 2018-01-02 18:41

看了一下还是有点懵

        [Authorize]
        public IActionResult Forbidden()
        {
            //获取cookie信息
            string strName = User.FindFirstValue(ClaimTypes.Name);
            string strGroup = User.FindFirstValue(ClaimTypes.GroupSid);
            string strEmail  = User.FindFirstValue(ClaimTypes.Email);
            ViewData["strName"] = strName;
            ViewData["strGroup"] = strGroup;
            ViewData["strEmail"] = strEmail;
            return View();
        }

其实我想重写Authorize的原因是,是想在每次进行授权认证的时候进行一些操作。就比如像asp.net mvc一样

public class MyAuthorizeAttribute : AuthorizeAttribute
    {

        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //return base.AuthorizeCore(httpContext);
            return DateTime.Now.Minute % 2 == 0
        }


        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.HttpContext.Response.Redirect("/Customer/Login");

            //base.HandleUnauthorizedRequest(filterContext);
        }
    }

继承类,然后在自己的类里面写特殊操作。

然后授权的时候用

[MyAuthorize]

不知道core能不能做到这样。

87Super | 园豆:107 (初学一级) | 2018-01-02 21:24

@87Super: 参考之前的一个博问:Dotnet Core自定义全局过滤器[AllowAnonymous]标签无效

dudu | 园豆:30925 (高人七级) | 2018-01-04 11:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册