C# 启动时使用Endpoints路由到具有标识的登录页面
使用.net core 3.0设置新的解决方案,并尝试编辑启动以转到我的区域 /身份/帐户/登录 领域:身份 控制员:账户 查看:登录 尝试: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");
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作为回答,它可以帮助其他遇到相同问题的人。这真是太棒了,非常感谢您的帮助。如果回答帮助,请考虑马克作为回答,可以帮助其他人遇到同样的问题。