Javascript 在Angular中处理用户权限的更稳定的方法是什么?

Javascript 在Angular中处理用户权限的更稳定的方法是什么?,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在处理一个用户有限的小应用程序。规范规定有两种类型的用户。一个是管理员用户,应该能够发布和删除。而普通用户应该只能阅读。我正在考虑两种解决方案中的一种 第一种方法是为两个用户提供相同的模板,然后当普通用户尝试更新或删除时,抛出通知或警告告诉他们。我需要包含一个用户对象,并且我正在考虑在路由器级别执行它。因此,路由器将检查请求是来自管理员还是普通用户 第二个解决方案是包含两个模板,一个用于普通用户,另一个用于管理员。我倾向于第一种解决方案,因为这样我就不会有应用程序中的冗余。它还将大部分逻辑抽

我正在处理一个用户有限的小应用程序。规范规定有两种类型的用户。一个是管理员用户,应该能够发布和删除。而普通用户应该只能阅读。我正在考虑两种解决方案中的一种

第一种方法是为两个用户提供相同的模板,然后当普通用户尝试更新或删除时,抛出通知或警告告诉他们。我需要包含一个用户对象,并且我正在考虑在路由器级别执行它。因此,路由器将检查请求是来自管理员还是普通用户


第二个解决方案是包含两个模板,一个用于普通用户,另一个用于管理员。我倾向于第一种解决方案,因为这样我就不会有应用程序中的冗余。它还将大部分逻辑抽象到更高的层次。对输入感兴趣

无论您选择哪种方式,只要记住,任何试图绕过您的客户机安全的人都可能做到这一点。请确保您在后端也有某种权限检查。这是我的意见和建议:不要提供不可用的UI组件。如果用户界面上有他们无法使用的按钮,这会让人们感到恼火。此外,正如tymeJV所指出的,在路由器级别检查用户授权是多余的,很容易被绕过。因此,一定要使用两个模板路径,使用路由器在视图之间进行选择。授权检查应在后端进行。如果使用ng hide,则无法使用的功能不受欢迎。Ofc不会阻止任何人绕过,但前端应该是enouhg。您希望保持代码干燥(即,如果大多数代码相同,不要在两个位置重复)。如果您能够,只需抽象出不同用户类型的不同部分。是的,只需将其嵌入带有ng视图的模板中就有意义了,域并不复杂,而且非常静态。