我们可以在单个Angular 2应用程序中创建两个具有单独路由的登录页面吗?

时间:2018-03-14 12:35:05

标签: angular angular-ui-router

在这里,我正在使用分布式数据库和微服务架构创建Angular 2应用程序。在我的应用场景中, 应用条件是我们具有正常的用户功能以及修改,删除组织属性等管理功能。

假设,

普通用户正在尝试登录,他将通过其路由重定向到应用程序功能。

但是,如果管理员用户尝试登录应用程序,他应该可以选择管理功能或正常的应用程序功能。

为实现这一目标,我想到了两种方法:

  • 方法:创建两个单独的项目(一个用于应用程序功能,另一个用于管理功能),以便管理员可以拥有两者的URL,并且他可以随意访问其中任何一个
  • 方法:考虑在单个应用程序中使用路径防护构建基于角色的架构,并在管理员登录时激活管理功能页面

但是,关于应用程序安全性的混淆。我的第二种方法可以提供安全性,黑客无法通过该页面破解我的管理员权限,因为它将成为同一个应用程序的一部分吗?哪一个更合适?

2 个答案:

答案 0 :(得分:1)

2是最好的方法,但需要一些身份验证和最佳实践来管理路由以及所有应用程序的条件

因为它会减少开发时间和完整性,您也可以轻松管理网站,但复杂性很高。

但是,由于大多数行业都在使用Flipkart,亚马逊,他们为卖家,管理员和用户提供不同的门户网站。

在管理员面板中,他们启用基于角色的登录,例如帐户,经理,高级经理,客户支持,如果它是如此复杂的架构,请选择第一个选项

答案 1 :(得分:1)

我个人会采用Seacond方法。

使用框架制作应用程序的美妙之处在于,您不必担心在使用各种库制作普通网站时必须手动管理的各个方面(包括安全性)。

与Angular所涵盖的所有方面相比,

User无法输入admin panel这是一个很小的方面。 https://angular.io/guide/security

他们提供了完整的指南和方法,例如您可以使用的authGaurdcanResolve,并且可以专注于开发而不必担心。唯一要担心的是你使用角度的知识。 ;)