【发布时间】:2018-12-27 01:10:37
【问题描述】:
我们有一个 Angular 应用程序托管在域的根目录,比如:
example.com
我们在 /api 虚拟目录中运行了一个 mvc.net api:
example.com/api
我们在 api 的 web.config 中重写了规则以允许调用 /api,这可以正常工作,因为我们的 xhr 调用正在工作。
对于身份验证,我们必须将浏览器路由到 example.com/api/auth/whatever,以便它可以适当地 302 到身份验证提供程序。一旦用户进行身份验证,他们就会被路由回我们的 API,然后返回到 Angular 应用程序。
这一切在开发中都没有问题,因为从技术上讲,一切都在不同的域中(locahost:4200、4201 等)。一旦它部署在同一个域上,角度路由器就会开始拦截 auth 链接点击,一旦没有匹配的路由,就会路由到 catch all 路由。
我已经尝试将 target="_self" 添加到链接中,正如我看到其他人推荐的那样,但这并没有改变行为。
有没有办法强制 angular 不处理路由,或者提供一些会拦截路由的保护,让浏览器处理它?
【问题讨论】:
-
对于FE服务器,你用的是express js吗?
-
不,我们使用他们的 PaaS 产品托管在 Azure 上
标签: angular asp.net-web-api angular-router