You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成Azure AD登录成功后访问/list返回404问题咨询

问题可能的原因如下:

  • 租户ID配置拼写错误:你配置的属性名tetant-id存在拼写错误,正确属性名应为tenant-id,拼写错误会导致身份校验逻辑异常,后续跳转路径错误。
  • 方法级权限校验未开启:使用@PreAuthorize注解需要在安全配置类上额外添加@EnableGlobalMethodSecurity(prePostEnabled = true)注解开启方法级权限校验,未开启时权限规则不生效,会触发默认错误跳转逻辑,最终返回404。
  • Azure AD组到角色的映射配置缺失:Azure AD Spring Boot Starter默认使用Azure AD组的Object ID作为权限值,而非组名。仅配置user-group.allowed-group-names的前提下,未添加azure.activedirectory.user-group.use-group-name-as-role=true配置,会导致用户的组名无法被正确映射为Admin/Users角色,权限校验失败后跳转至未配置的/error路径,返回404。
  • 角色前缀匹配规则不兼容:hasRole()校验规则会自动给入参添加ROLE_前缀进行匹配,若Azure AD映射的角色没有ROLE_前缀会导致匹配失败。可替换为hasAuthority('Admin')跳过前缀校验,或者调整角色前缀规则对齐映射值。
  • 重定向URI配置错误:配置的azure.activedirectory.redirect-uri-template=login/oauth2/code缺少开头的斜杠,正确值应为/login/oauth2/code,路径不匹配会导致登录回调逻辑异常,后续跳转路径错误。
  • 视图资源缺失:Controller返回字符串list作为视图名,若项目未配置对应的视图解析器,或者resources/templates目录下不存在list.html(以Thymeleaf模板为例),会直接返回404。
  • Controller未被Spring扫描:若Controller类所在的包不在Spring Boot启动类的默认扫描路径下,也未手动配置@ComponentScan指定扫描路径,会导致/list接口未被注册,访问时直接返回404。

内容的提问来源于stack exchange,提问作者volkangurbuz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:45:01