AngularJs 基于角色的菜单显示安全问题
AngularJs Roles Based menu display security concern
我是 MEAN.js 的新手,目前正在处理具有两个角色的应用程序。 User & Admin 和我必须根据使用角色显示菜单。为此,我为管理员和用户角色创建了 Header 文件,如下所示。
<ul class="nav navbar-nav navbar-center" data-ng-if="admin">
admin menus
</ul>
<ul class="nav navbar-nav navbar-center" data-ng-if="user">
user menus
</ul>
管理员和用户是控制器variables.now我尝试了不同的方法来设置这个变量的值。
1) 我在 sessionStorage 中为 userRole 设置了如下值。
$window.sessionStorage.userRole = loggesUser.role (A role from login user)
但在此任何用户都可以从浏览器 sessionStorage 更改此值,并且可以看到未授权的菜单。
2) 我也试过将 userRole 设置到 cookie 中,如下所示。
$cookieStore.put('userRole','user')
但用户也可以使用
从浏览器控制台更改 cookie 值
document.cookie="key=value"
所以再次 un-authorized 用户可以看到菜单。
3) 我也尝试将 userRole 放入 $scope 但用户也可以从浏览器控制台更改此值。
所以我不知道如何根据 roles.can 使我的 header 安全,任何人都请给我建议。
如果用户足够坚定,用户可以通过 多种 方式修改您的用户界面并查看他们不经常访问的屏幕。就是这样。
这可以通过在服务器上强制执行授权(不是身份验证,但您也需要它!)来解决。在服务器端,当请求进入时,在允许请求执行之前检查用户的角色。如果用户的角色没有他们正在尝试执行的操作的权限,return 403 响应。
我是 MEAN.js 的新手,目前正在处理具有两个角色的应用程序。 User & Admin 和我必须根据使用角色显示菜单。为此,我为管理员和用户角色创建了 Header 文件,如下所示。
<ul class="nav navbar-nav navbar-center" data-ng-if="admin">
admin menus
</ul>
<ul class="nav navbar-nav navbar-center" data-ng-if="user">
user menus
</ul>
管理员和用户是控制器variables.now我尝试了不同的方法来设置这个变量的值。
1) 我在 sessionStorage 中为 userRole 设置了如下值。
$window.sessionStorage.userRole = loggesUser.role (A role from login user)
但在此任何用户都可以从浏览器 sessionStorage 更改此值,并且可以看到未授权的菜单。
2) 我也试过将 userRole 设置到 cookie 中,如下所示。
$cookieStore.put('userRole','user')
但用户也可以使用
从浏览器控制台更改 cookie 值document.cookie="key=value"
所以再次 un-authorized 用户可以看到菜单。
3) 我也尝试将 userRole 放入 $scope 但用户也可以从浏览器控制台更改此值。
所以我不知道如何根据 roles.can 使我的 header 安全,任何人都请给我建议。
如果用户足够坚定,用户可以通过 多种 方式修改您的用户界面并查看他们不经常访问的屏幕。就是这样。
这可以通过在服务器上强制执行授权(不是身份验证,但您也需要它!)来解决。在服务器端,当请求进入时,在允许请求执行之前检查用户的角色。如果用户的角色没有他们正在尝试执行的操作的权限,return 403 响应。