Skip to content

Commit 442524b

Browse files
authored
Merge pull request #986 from mguidon/anonymous_user
ISAN: Anonymous users need to have access to their files and update-pipeline
2 parents acbad61 + 7965efd commit 442524b

File tree

4 files changed

+14
-11
lines changed

4 files changed

+14
-11
lines changed

services/web/server/src/simcore_service_webserver/config/server-docker-dev.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ main:
77
client_outdir: ${SIMCORE_WEB_OUTDIR}
88
log_level: DEBUG
99
testing: True
10-
studies_access_enabled: False
10+
studies_access_enabled: True
1111
monitoring_enabled: True
1212
director:
1313
host: ${DIRECTOR_HOST}

services/web/server/src/simcore_service_webserver/security_roles.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@
2424
},
2525
UserRole.GUEST: {
2626
"can": [
27+
# Anonymous users need access to the filesystem because files are being transferred
28+
"project.update",
29+
"storage.locations.*", # "storage.datcore.read"
30+
"storage.files.*",
31+
2732
"project.read", # "studies.user.read",
2833
# "studies.templates.read"
2934
# NOTE: All services* are not necessary since it only requires login
@@ -39,7 +44,6 @@
3944
UserRole.USER: {
4045
"can": [
4146
"project.create", # "studies.user.create",
42-
"project.update",
4347
"project.delete", # "study.node.create",
4448
# "study.node.delete",
4549
# "study.node.rename",
@@ -50,8 +54,7 @@
5054
# "preferences.role.update"
5155
"user.tokens.*", # "preferences.token.create",
5256
# "preferences.token.delete"
53-
"storage.locations.*", # "storage.datcore.read"
54-
"storage.files.*",
57+
5558
# NOTE: All services* are not necessary since it only requires login
5659
# and there is no distinction among logged in users.
5760
# TODO: kept temporarily as a way to denote resources

services/web/server/tests/unit/with_postgres/test_projects.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ async def test_new_template_from_project(client, logged_user, user_project, expe
373373
# PUT --------
374374
@pytest.mark.parametrize("user_role,expected", [
375375
(UserRole.ANONYMOUS, web.HTTPUnauthorized),
376-
(UserRole.GUEST, web.HTTPForbidden),
376+
(UserRole.GUEST, web.HTTPOk),
377377
(UserRole.USER, web.HTTPOk),
378378
(UserRole.TESTER, web.HTTPOk),
379379
])
@@ -420,7 +420,7 @@ async def test_replace_project_updated_inputs(client, logged_user, user_project,
420420

421421
@pytest.mark.parametrize("user_role,expected", [
422422
(UserRole.ANONYMOUS, web.HTTPUnauthorized),
423-
(UserRole.GUEST, web.HTTPForbidden),
423+
(UserRole.GUEST, web.HTTPOk),
424424
(UserRole.USER, web.HTTPOk),
425425
(UserRole.TESTER, web.HTTPOk),
426426
])

services/web/server/tests/unit/with_postgres/test_storage.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ async def logged_user(client, role: UserRole):
120120

121121
@pytest.mark.parametrize("role,expected", [
122122
(UserRole.ANONYMOUS, web.HTTPUnauthorized),
123-
(UserRole.GUEST, web.HTTPForbidden),
123+
(UserRole.GUEST, web.HTTPOk),
124124
(UserRole.USER, web.HTTPOk),
125125
(UserRole.TESTER, web.HTTPOk),
126126
])
@@ -137,7 +137,7 @@ async def test_get_storage_locations(client, storage_server, logged_user, role,
137137

138138
@pytest.mark.parametrize("role,expected", [
139139
(UserRole.ANONYMOUS, web.HTTPUnauthorized),
140-
(UserRole.GUEST, web.HTTPForbidden),
140+
(UserRole.GUEST, web.HTTPOk),
141141
(UserRole.USER, web.HTTPOk),
142142
(UserRole.TESTER, web.HTTPOk),
143143
])
@@ -159,7 +159,7 @@ async def test_get_datasets_metadata(client, storage_server, logged_user, role,
159159

160160
@pytest.mark.parametrize("role,expected", [
161161
(UserRole.ANONYMOUS, web.HTTPUnauthorized),
162-
(UserRole.GUEST, web.HTTPForbidden),
162+
(UserRole.GUEST, web.HTTPOk),
163163
(UserRole.USER, web.HTTPOk),
164164
(UserRole.TESTER, web.HTTPOk),
165165
])
@@ -180,7 +180,7 @@ async def test_get_files_metadata_dataset(client, storage_server, logged_user, r
180180

181181
@pytest.mark.parametrize("role,expected", [
182182
(UserRole.ANONYMOUS, web.HTTPUnauthorized),
183-
(UserRole.GUEST, web.HTTPForbidden),
183+
(UserRole.GUEST, web.HTTPOk),
184184
(UserRole.USER, web.HTTPOk),
185185
(UserRole.TESTER, web.HTTPOk),
186186
])
@@ -201,7 +201,7 @@ async def test_storage_file_meta(client, storage_server, logged_user, role, expe
201201

202202
@pytest.mark.parametrize("role,expected", [
203203
(UserRole.ANONYMOUS, web.HTTPUnauthorized),
204-
(UserRole.GUEST, web.HTTPForbidden),
204+
(UserRole.GUEST, web.HTTPOk),
205205
(UserRole.USER, web.HTTPOk),
206206
(UserRole.TESTER, web.HTTPOk),
207207
])

0 commit comments

Comments
 (0)