MSAL Angular应用遇AADSTS50105错误的重定向方案咨询
问题解答
是的,你的判断完全正确。当Azure应用注册开启“需要分配”选项后,未被分配应用权限的用户完成登录后,msal-angular 2.5.5的默认流程会直接导向Azure的权限错误页,无法直接控制重定向到你的Angular匿名页面。
以下是对三个可选方案的分析:
- 方案1:正确可行。不启用MSAL的自动登录跳转,先展示自定义的说明页面,明确告知用户应用的访问要求,再通过手动点击“登录”按钮触发MSAL的登录流程。这种方式完全规避了未授权用户触发默认错误页的问题,用户体验更可控。
- 方案2:逻辑上可行,但用户体验较差。创建一个允许所有用户访问的应用注册,通过它先获取用户的组信息,判断用户是否属于目标应用的授权组,再决定是否引导至目标应用登录。但两次登录会增加用户的操作成本,除非有特殊场景需求,否则不推荐采用。
- 方案3:正确且是更常用的实践方案。先将所有需要访问应用的用户加入目标应用注册,然后借助Azure AD的组或自定义角色来细分权限,在Angular应用内通过MSAL获取的组/角色信息做页面级权限拦截,灵活控制用户的访问范围。这种方式既满足“需要分配”的配置要求,又能在应用内实现精细化的权限管控。
内容的提问来源于stack exchange,提问作者TomSelleck
相关产品推荐
相关产品推荐

