ASP.NET Core MVC启动时如何优先显示首页而非Identity登录页?除Startup.cs外可在哪调整?
无需修改Startup.cs的调整方案
移除/调整控制器与Action的授权特性
先确认首页对应的控制器(默认是HomeController)和首页Action(默认是Index)的[Authorize]标记配置:- 若
IndexAction单独标注了[Authorize],直接删除该标记即可开放首页匿名访问 - 若整个
HomeController类标注了[Authorize],给IndexAction单独添加[AllowAnonymous]特性即可覆盖类级别的授权要求
- 若
配置全局授权过滤器的匿名例外
如果你给项目配置了全局AuthorizeFilter要求所有路由必须登录,不需要修改Startup里的过滤器注册逻辑,只需要给首页对应的Action加[AllowAnonymous]即可作为例外放开访问。Razor页面的匿名访问配置
若你的首页是Razor Page实现,或者Identity相关页面用了Razor Pages模板,直接在首页.cshtml文件头部添加[AllowAnonymous]标记即可:@page @model IndexModel [AllowAnonymous] @{ ViewData["Title"] = "首页"; }排查前端视图的强制跳转逻辑
检查_Layout.cshtml、首页视图、_LoginPartial.cshtml这类公用视图里是否写了未登录状态强制跳转到登录页的前端判断逻辑,删除对应的跳转代码即可。.NET 6+版本的Program.cs调整
若你使用的是.NET 6及以上版本,官方默认已移除Startup.cs文件,所有授权相关配置都在Program.cs中,你可以检查默认路由的配置,确保其指向的Action允许匿名访问即可。
内容的提问来源于stack exchange,提问作者Weber Wang
相关产品推荐
相关产品推荐

