Javascript 根据用户角色显示内容
我有一个菜单,其中的部分仅对某些用户可见。我的数据库中有角色user、角色admin1和角色admin2。 例如,如何使类别2仅对角色\u ADMIN1可见 知道我的用户可以有多个角色,或者一次拥有所有角色。正如您在下面看到的,每个用户都有ROLE\u user ROLE,但唯一的区别是ROLE\u user只能是ROLE\u user、ROLE\u ADMIN1或ROLE\u ADMIN2,或者同时是ROLE\u user和ROLE\u ADMIN2Javascript 根据用户角色显示内容,javascript,angularjs,Javascript,Angularjs,我有一个菜单,其中的部分仅对某些用户可见。我的数据库中有角色user、角色admin1和角色admin2。 例如,如何使类别2仅对角色\u ADMIN1可见 知道我的用户可以有多个角色,或者一次拥有所有角色。正如您在下面看到的,每个用户都有ROLE\u user ROLE,但唯一的区别是ROLE\u user只能是ROLE\u user、ROLE\u ADMIN1或ROLE\u ADMIN2,或者同时是ROLE\u user和ROLE\u ADMIN2 { "name": "J
{
"name": "Jack",
"fname": "Daniel",
"roles": [
"ROLE_USER"
]
}
{
"name": "Laly",
"fname": "Dom",
"roles": [
"ROLE_USER",
"ROLE_ADMIN1"
]
}
{
"name": "Admini",
"fname": "Strator",
"roles": [
"ROLE_USER",
"ROLE_ADMIN2"
]
}<br><br> {
"name": "Admini",
"fname": "Strator",
"roles": [
"ROLE_USER",
"ROLE_ADMIN1",
"ROLE_ADMIN2"
]
}
谢谢大家! 首先,我认为在后端级别处理此逻辑的最佳实践 因此,你发送令牌,后端人员必须检查来自 自行标记并根据您拥有的权限返回数据 还要确保您的数据安全 如果你不关心上面提到的问题,你可以这样做,在客户端过滤你的数据
$scope.adminData = [];
$scope.data = [{data:'some user data',roll:'user'},{data:'some admin data',roll:'admin'}]
data.filter(function(currentValue, index, arr){
if(currentValue.roll == "admin"){
$scope.adminData.push(currentValue);
}
})
在此之后,如果登录用户具有管理员权限,请在视图中重复adminData数组
在这种情况下,我更喜欢在组件内部执行逻辑,这就是will
为您提供更好的维护和更清晰的视图。json从何而来?我将从后端返回可用的菜单项,并使用angular的等效项进行循环绑定。“IsGroupShowed”是什么?我看不出有这样的功能。
.controller('menuCtrl', function($scope, $state, $http, $ionicHistory, AppService) {
$scope.group = [];
$scope.toggleGroup = function(group) {
if ($scope.isGroupShown(group)) {
$scope.shownGroup = null;
} else {
$scope.shownGroup = group;
}
};
$scope.isGroupShown = function(group) {
return $scope.shownGroup === group;
};
})
$scope.adminData = [];
$scope.data = [{data:'some user data',roll:'user'},{data:'some admin data',roll:'admin'}]
data.filter(function(currentValue, index, arr){
if(currentValue.roll == "admin"){
$scope.adminData.push(currentValue);
}
})