2016-12-24 58 views
2

我想根据我的应用程序的用户显示不同的视图,例如,如果用户是admin他可以看到所有控件或者当它充当user时他只能看到控制和UI的子集,他可以执行有限的操作。在angularjs中显示基于用户角色的自定义视图

我想到的一个解决方案是将页面的角色信息作为JSON发送,但这需要我具有登录用户的知识,所以基本上我可以首先检查用户是否登录通过cookie?如果没有,我可以加载轻量级版本的登录页面,并在用户登录后,我可以发送一个新的页面,其中嵌入用户的个人资料信息。

我看到的另一种方法是我可以引导我的角度应用程序,然后检查登录状态,如果登录完成,然后通过JSON带来配置文件信息并更新视图,但我认为它会是缓慢且容易出错。

我不知道什么是最好的/推荐的方法。

回答

1

第一种方法似乎是这些2.

问题的第二种方法的一个更好的方法是你发送2个请求到服务器 - 一个用于登录,然后:第二个获得用户角色/配置文件。如果您选择这种方法,那么你可能取决于你如何去实现它几个问题:

  1. 如果要更新登录后您的用户界面,那么你将不得不决定,因为你什么应该被显示给用户还不知道用户配置文件。即使你想出了一些最小特权UI,也会有另一个获取配置文件的请求,它会再次刷新UI - 2 UI刷新可能会让用户感到烦恼。更不用说有2个请求可能会让你的网站变慢。
  2. 如果您决定在登录后不更新UI,但只有在获取用户配置文件后才会更新UI,但延迟时间会更长,因为您必须等待2个单独请求的响应。可能是慢速网络的主要问题(考虑移动)

如果您使用第一种方法,您将摆脱上述问题。

相关问题