C# 启动时使用Endpoints路由到具有标识的登录页面

C# 启动时使用Endpoints路由到具有标识的登录页面,c#,.net,asp.net-core,C#,.net,Asp.net Core,使用.net core 3.0设置新的解决方案,并尝试编辑启动以转到我的区域 /身份/帐户/登录 领域:身份 控制员:账户 查看:登录 尝试: app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "/identity/account/login");

使用.net core 3.0设置新的解决方案,并尝试编辑启动以转到我的区域

/身份/帐户/登录 领域:身份 控制员:账户 查看:登录

尝试:

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "/identity/account/login");
            endpoints.MapRazorPages();
        });

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{area:identity}/{controller:account}/{action=login}");
            endpoints.MapRazorPages();
        });

如果只有经过身份验证的用户才能访问您的应用程序,您可以在调用
AddAuthorization
时提供策略。
DefaultPolicy
最初配置为需要身份验证,因此不需要额外配置:

public void Configure(IApplicationBuilder app)
{
    ...

    app.UseRouting();

    app.UseAuthentication();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapDefaultControllerRoute().RequireAuthorization();
    });
}
MVC端点被标记为
RequireAuthorization
,因此所有请求都必须基于DefaultPolicy进行授权。参考:


因此,如果未通过身份验证,用户将重定向到asp.net identity的登录页。

如果只有经过身份验证的用户可以访问您的应用程序,您可以在调用
AddAuthorization
中提供策略。
DefaultPolicy
最初配置为需要身份验证,因此不需要额外配置:

public void Configure(IApplicationBuilder app)
{
    ...

    app.UseRouting();

    app.UseAuthentication();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapDefaultControllerRoute().RequireAuthorization();
    });
}
MVC端点被标记为
RequireAuthorization
,因此所有请求都必须基于DefaultPolicy进行授权。参考:


如果没有经过认证,用户将被重定向到ASP.NET身份的登录页面。

这是非常棒的,非常感谢您的帮助。如果回答有帮助,请考虑Mark作为回答,它可以帮助其他遇到相同问题的人。这真是太棒了,非常感谢您的帮助。如果回答帮助,请考虑马克作为回答,可以帮助其他人遇到同样的问题。