我有一个菜单,其中的部分仅对某些用户可见。我在我的数据库中有角色user,role admin1和role admin2。 例如,如何仅对ROLE_ADMIN1显示类别2?
知道我的用户可以同时拥有多个角色或所有角色。如下所示,每个用户都有ROLE_USER角色,但唯一的区别是ROLE_USER只能是ROLE_USER,ROLE_ADMIN1或ROLE_ADMIN2,或者两者同时。
buildscript {
repositories {
jcenter()
maven { url 'https://repo.spring.io/libs-snapshot' }
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion"
}
}
apply plugin: 'war'
apply plugin: 'org.springframework.boot'
repositories {
jcenter()
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
}
group = 'com.lapots.tree.model.web'
dependencies {
compile "org.springframework.boot:spring-boot-starter-parent:$springBootVersion"
compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion"
compile "org.springframework.boot:spring-boot-starter-webflux:$springBootVersion"
compile "org.springframework.boot:spring-boot-starter-jetty:$springBootVersion"
compile "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion"
}
我的HTML:
localhost:8080/tree-model-app/ping
在我的控制器中:
{
"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"
]
}
谢谢大家!
答案 0 :(得分:0)
首先,我认为在后端级别处理此逻辑的最佳实践
所以你发送令牌,后端人员必须检查来自
的滚动将其标记为self并根据您拥有的权限返回数据
还要确保您的数据安全。
如果您不关心上述提及,您可以这样做,并在客户端过滤您的数据
$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数组在这种情况下,我更喜欢在组件中执行逻辑
为您提供更好的维护和更清晰的视野。