C#中Authorize属性失效,登录成功后仍跳转至登录页问题
问题分析与解决方法
核心问题:中间件顺序错误
你当前的中间件注册顺序颠倒了,UseAuthorization在UseAuthentication之前执行会导致授权逻辑先运行,此时用户身份还未被认证系统识别,所以会被强制重定向到登录页。
修正后的中间件顺序:
app.UseAuthentication(); app.UseAuthorization();
额外检查项
- 确保
User类继承自IdentityUser,Role类继承自IdentityRole,这是Identity框架正常工作的基础 - 验证
[Authorize]属性是否正确应用在需要保护的控制器或Action上,示例:[Authorize] public class HomeController : Controller { public IActionResult Index() { return View(); } } - 登录成功后,通过浏览器开发者工具的Application标签,确认
.AspNetCore.Identity.ApplicationCookie已正常生成 - 测试时可直接访问受保护端点,而非仅通过跳转链接验证,排除跳转逻辑的干扰
内容的提问来源于stack exchange,提问作者Ирина Ивановна
相关产品推荐
相关产品推荐

