【问题标题】:Not able to redirect link pointed to Identity to own action method无法将指向 Identity 的链接重定向到自己的操作方法
【发布时间】:2018-12-07 16:13:51
【问题描述】:

我有一个带有内置标识的 ASP.NET Core 2.1 应用程序。

布局页面有:

<div class="hidden-xs">
    <ul class="nav navbar-nav navbar-right">
        <li><a asp-area="Identity" asp-page="/Account/Register">Register</a></li>

        <li><form method="get" asp-controller="Account" asp-action="Login"><button id="btnLogin" type="submit"  class="btn btn-default navbar-btn">Log in</button></form></li>
    </ul>
</div>
<div class="visible-xs">
    <ul class="nav navbar-nav navbar-right">
        <li><a asp-area="Identity" asp-page="/Account/Register">Register</a></li>
        @*<li><a asp-area="Identity" asp-page="/Account/Login">Log in</a></li>*@
        <li><a asp-controller="Account" asp-action="Login">Log in</a></li>
    </ul>
</div>    

我注释了指向我的控制器的身份的 asp 区域代码,即“帐户”控制器和“登录”方法。但是点击登录按钮后,它仍然会转到 ../Identity/Account/Login。

我错过了什么吗?

【问题讨论】:

  • 您是否在/Account/Login 上设置了[Authorize] 属性?如果方便的话,您可以在新项目中进行测试或分享演示。

标签: c# asp.net-core asp.net-identity asp.net-core-2.1


【解决方案1】:

身份是中间件所以需要在ConfigureServices中配置Startup.cs添加:

public void ConfigureServices(IServiceCollection services)
{
    //...

    // Add to bottom of ConfigureServices
    services.ConfigureApplicationCookie(options =>
    {
        options.LoginPath = $"/Account/Login";
    });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多