Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ee798f9

Browse files
When role is UNKNOWN, don't invoke has_role, so don't need to be dependent on rbac in this case
1 parent 2c84647 commit ee798f9

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

‎uliweb_apijson/apijson/views.py‎

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ def _get_one(self,key):
6969
params_role = "UNKNOWN"
7070
if params_role not in roles:
7171
return json({"code":400,"msg":"'%s' not accessible by role '%s'"%(modelname,params_role)})
72-
if functions.has_role(request.user,params_role):
72+
if params_role == "UNKNOWN":
73+
permission_check_ok = True
74+
elif functions.has_role(request.user,params_role):
7375
permission_check_ok = True
7476
else:
7577
return json({"code":400,"msg":"user doesn't have role '%s'"%(params_role)})
@@ -178,7 +180,9 @@ def _get_array(self,key):
178180
params_role = "UNKNOWN"
179181
if params_role not in roles:
180182
return json({"code":400,"msg":"'%s' not accessible by role '%s'"%(modelname,params_role)})
181-
if functions.has_role(request.user,params_role):
183+
if params_role == "UNKNOWN":
184+
permission_check_ok = True
185+
elif functions.has_role(request.user,params_role):
182186
permission_check_ok = True
183187
else:
184188
return json({"code":400,"msg":"user doesn't have role '%s'"%(params_role)})
@@ -273,7 +277,9 @@ def _head(self,key):
273277
params_role = "UNKNOWN"
274278
if params_role not in roles:
275279
return json({"code":400,"msg":"'%s' not accessible by role '%s'"%(modelname,params_role)})
276-
if functions.has_role(request.user,params_role):
280+
if params_role == "UNKNOWN":
281+
permission_check_ok = True
282+
elif functions.has_role(request.user,params_role):
277283
permission_check_ok = True
278284
else:
279285
return json({"code":400,"msg":"user doesn't have role '%s'"%(params_role)})
@@ -358,6 +364,9 @@ def _post_one(self,key,tag):
358364
#need OWNER, but don't know how to set user id
359365
return json({"code":400,"msg":"no permission"})
360366
break
367+
elif role == "UNKNOWN":
368+
permission_check_ok = True
369+
break
361370
else:
362371
if functions.has_role(request.user,role):
363372
permission_check_ok = True
@@ -466,6 +475,9 @@ def _put_one(self,key,tag):
466475
break
467476
else:
468477
return json({"code":400,"msg":"need login user"})
478+
elif role == "UNKNOWN":
479+
permission_check_ok = True
480+
break
469481
else:
470482
if functions.has_role(request.user,role):
471483
permission_check_ok = True
@@ -564,6 +576,9 @@ def _delete_one(self,key,tag):
564576
break
565577
else:
566578
return json({"code":400,"msg":"need login user"})
579+
elif role == "UNKNOWN":
580+
permission_check_ok = True
581+
break
567582
else:
568583
if functions.has_role(request.user,role):
569584
permission_check_ok = True

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /