AngularJS验证一次以使用多个应用程序

cod*_*igo 7 angularjs

我想做什么

我即将构建一个门户风格的应用程序,就像在这篇SO帖子中描述的那样.我正在寻找的行为我希望最好通过下面的模型序列来描述: 登录mainsite.com/ 登录后,用户可以访问3个单独的Angular应用程序 在任何给定的应用程序中,用户的信用是可访问的

总结一下我所追求的行为:

  1. 用户访问mainsite.com/并被要求登录,一旦通过身份验证,将显示三个不同应用程序的三个链接.

  2. 点击任何给定的应用程序(上面示例中的mainsite.com/app1/)将为每个应用程序选择一个,但记住用户已登录.如果可以嵌套ngApps但我不知道可以执行此操作,这将有效.

潜在的方法(我能想到)

  1. 将身份验证逻辑和数据附加到$ window(有点像这篇文章).页面刷新可能会导致这种情况失败,并且它将涉及在页面中有4个应用程序(三个子应用程序和一个扮演主页面应用程序的角色).

  2. 删除一个cookie,其中包含相关的会话信息,每当有人访问任何子应用程序以及它们之间时,这些信息就会被提取.我对此感到不安,但表现出一些希望?

  3. 在这个时刻,我没有第三个想法.

我想我正在寻找的是令人敬畏的http-auth-interceptor模块的扩展,但是跨应用程序的持久性.

有没有人遇到过这个问题并解决了它或者有任何其他想法如何解决它?解决方案甚至可能会像我为使门户网站工作而想到的设计而徘徊,但我看不到它.

欢迎任何想法,非常感谢.

bda*_*xyz 0

让我们从错误的答案开始,但坚持当前问题的解决方式:通常,开发人员依赖服务器端身份验证,考虑对不同的应用程序和与完整客户端编程不同的问题进行身份验证。

现在,如果您只想在客户端执行此操作,它仍然是可行的,但您必须记住,未经身份验证的用户始终可以访问模板。这是一篇关于该主题的文章及其关联的github 存储库。它不会支持多个应用程序,但通过调整此服务,您可以实现这一点。正如您提到的,该解决方案使用 cookie。

这是一篇非常相关的博客文章,它回答了您的问题:有哪些潜在的方法。简而言之:使用令牌。