如何在.net MVC Web项目中设置自定义授权?

时间:2018-09-22 13:29:55

标签: .net asp.net-mvc authentication

我有一个.Net mvc项目,我在登录控制器中手动验证用户身份。因此,我在Global.asax中设置了FormsAuthentication。

protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
            {
                    var authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
                    if (authCookie != null)
                    {
                            FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                            if (authTicket != null && !authTicket.Expired)
                            {
                                    var roles = authTicket.UserData.Split(',');
                                    HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(new FormsIdentity(authTicket), roles);
                            }
                    }
            }

因此,现在如果我在所有控制器的顶部添加[Authorize](如果没有授权用户)将显示401错误页面,但是如果未经授权的用户我想要的是重定向到登录页面。我怎样才能做到这一点 ? 我没有使用身份服务器。

0 个答案:

没有答案