new*_*der 3 asp.net-mvc asp.net-core razor-pages
在 VS2022 中,我启动了一个新的 Razor 页面项目,选择“个人帐户”作为身份验证类型。我发现没有可用于自定义的与身份相关的代码,因为它们是使用 Razor UI 预先构建的。我想自定义页面,因此我通过以下建议的方法生成了页面。
之后,我想在创建管理员帐户后禁用注册页面。我在 Register.chtml 中选择了“从项目中排除”,如下所示。
令人惊讶的是,我发现当生成的页面被排除时,预构建的 Razor UI 页面会自动使用(我仍然可以访问和使用 url /Identity/Account/Register)。如何禁用预构建的 Razor UI 页面?
您可以添加app.Map中间件,如下所示:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.Map("/Identity/Account/Register", HandleRequest);
app.Map("/Identity/Account/Login", HandleRequest);
static void HandleRequest(IApplicationBuilder app)
{
app.Run(async context =>
{
context.Response.StatusCode = StatusCodes.Status404NotFound;
await context.Response.WriteAsync("404 Not Found");
});
}
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
969 次 |
| 最近记录: |