如何从好友类重定向到视图

本文关键字:重定向 视图 好友 | 更新日期: 2023-09-27 17:49:30

这是我的授权类,它覆盖了默认的authorizecore,如果他没有被授权,我想将用户重定向到一个错误页面。我怎么才能做到呢?

public class UserAcess : AuthorizeAttribute
{
    private UserRepository _userRepo = new UserRepository();
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        var isAuthorized = base.AuthorizeCore(httpContext);
        if (isAuthorized)
        {
            var canUse = this._userRepo.CanUserUseApp(httpContext.User.Identity.Name);
            // If you can't use this app, guess what? ERROR PAGE fun times.
            if (!canUse)
            {
                isAuthorized = false;
                 //redirect the user a view that I've made here.
                return isAuthorized;
            }
        }

        var personRole = this._userRepo.getPersonRolebyAdName(httpContext.User.Identity.Name);

        //TODO Refactor this so that it checks if it's filled.
        httpContext.Session["PersonID"] = personRole.Person.PersonID;
        httpContext.Session["PersonRoleID"] = personRole.PersonRoleID;
        httpContext.Session["UserName"] = personRole.Person.UserName;
        httpContext.Session["Role"] = personRole.Role.Description;
        httpContext.Session["FirstName"] = personRole.Person.FirstName;
        httpContext.Session["LastName"] = personRole.Person.LastName;
        return isAuthorized;
    }
}

如何从好友类重定向到视图

您可以通过重写HandleUnauthorizedRequest方法来实现:

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
    filterContext.Result = new ViewResult 
    { 
        ViewName = "SomeUnauthorizedViewName" 
    };
}