asp.net-mvc - MVC5 [Authorize] 重定向到默认路由而不是属性路由

标签 asp.net-mvc asp.net-mvc-5

我有以下内容:

    [Route("whitelist")]
    [Authorize(Roles = "Administrator")]
    public ActionResult Whitelist() {
        var vm = new WhitelistViewModel();
        return View(vm);
    }

    [Route("login")]
    [AllowAnonymous]
    public ActionResult Login(string returnUrl) {
        ViewBag.ReturnUrl = returnUrl;
        return View();
    }

但是,当我以未经身份验证的用户身份导航到 /whitelist 时,我将导航到/Account/Login,这是无效的。在这种情况下,如何告诉 MVC5 在重定向时使用属性路由?

最佳答案

App_Start/Startup.Auth.cs 中,您需要更改重定向的默认登录路径。

LoginPath = new PathString("/login")

原因是因为你添加了属性路由,那么现有的路由是无效的。

关于asp.net-mvc - MVC5 [Authorize] 重定向到默认路由而不是属性路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27435549/

相关文章:

c# - aPress 的 pro asp.net mvc 3 书中的一些错误

c# - 如何使用 Asp.net MVC 从页面引用位于 View 文件夹中的 .js 文件

c# - 另一个相同类型的实体已经具有相同的主键值

c# - 为什么在代码优先的 EntityFramework 中存在重复引用?

asp.net - 如何更改 SQL Server 上的 ASP.Net Identity 2 以创建 newSequentialId 主键?

c# - 具有延迟加载和多个数据源的 UnitOfWork

asp.net-mvc - 使用 WCF + IOC 结构图的 SOA 架构

c# - 在一个 Controller 中使用 GUID 作为参数?

javascript - 检索表格单元格值 MVC 5

async-await - 如何在不影响上层的情况下使我的存储库异步