在ASP .NET中,重定向到错误页面而不是登录页面以获取错误的AuthorizationManager响应

时间:2018-06-05 16:27:30

标签: .net asp.net-mvc

我们实现了自定义AuthorizationManager。我们设计了一个存储过程,它不是将逻辑放在代码中,而是根据具有控制器和操作的表检查用户角色,并返回0或1进行访问。然后AuthorizationManager处理结果并返回true或false。一切正常但当它返回false时,它会自动重定向到登录页面并要求用户登录,即使用户已经过身份验证。是否可以覆盖此行为并使用包含错误消息的ViewBag重定向到错误页面。我已经在线查看,但我找不到任何东西。

 public class AuthorizationManager : ClaimsAuthorizationManager

{
    private testDbContext db = new testDbContext();
    public override bool CheckAccess(AuthorizationContext context)

。 。 。 。

string username = System.Web.HttpContext.Current.Session["Username"].ToString();

        var AuthoriseYN = db.Database.SqlQuery<AuthoriseViewModel>("EXEC spControllerActionRole @Controller, @Action, @Username",
        new System.Data.SqlClient.SqlParameter("Controller", resrce.Value),
        new System.Data.SqlClient.SqlParameter("Action", action.Value),
        new System.Data.SqlClient.SqlParameter("Username", username)
        ).ToList();
        bool authorise = AuthoriseYN[0].Authorise;
            if (authorise == true)
        {
            return true;
        }



        return false

0 个答案:

没有答案
相关问题