Skip to content

Commit 3e9848d

Browse files
golschkkrebs
authored andcommitted
MCR-3581 Use improved access key factory methods
1 parent 761d6ae commit 3e9848d

File tree

3 files changed

+14
-15
lines changed

3 files changed

+14
-15
lines changed

mir-module/src/main/java/org/mycore/mir/authorization/MIRAccessKeyStrategy.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
import org.mycore.datamodel.metadata.MCRObjectID;
1010
import org.mycore.mcr.acl.accesskey.config.MCRAccessKeyConfig;
1111
import org.mycore.mcr.acl.accesskey.dto.MCRAccessKeyDto;
12-
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeyServiceFactory;
12+
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeySessionService;
13+
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeyUserService;
1314

1415
/**
1516
* Strategy class for checking access permissions on objects based on access keys.
@@ -62,8 +63,7 @@ private static String sanitizePermission(String permission) {
6263
}
6364

6465
private boolean checkSessionHasValidAccessKey(String objectId, String permission) {
65-
final MCRAccessKeyDto accessKey
66-
= MCRAccessKeyServiceFactory.getAccessKeySessionService().findActiveAccessKey(objectId);
66+
final MCRAccessKeyDto accessKey = MCRAccessKeySessionService.obtainInstance().findActiveAccessKey(objectId);
6767
if (accessKey != null) {
6868
LOGGER.debug("Found match in access key strategy for {} on {} in session.", permission,
6969
objectId);
@@ -73,8 +73,7 @@ private boolean checkSessionHasValidAccessKey(String objectId, String permission
7373
}
7474

7575
private boolean checkUserHasValidAccessKey(String objectId, String permission) {
76-
final MCRAccessKeyDto accessKey
77-
= MCRAccessKeyServiceFactory.getAccessKeyUserService().findActiveAccessKey(objectId);
76+
final MCRAccessKeyDto accessKey = MCRAccessKeyUserService.obtainInstance().findActiveAccessKey(objectId);
7877
if (accessKey != null) {
7978
LOGGER.debug("Found match in access key strategy for {} on {} in user attributes.", permission,
8079
objectId);

mir-module/src/main/java/org/mycore/mir/authorization/accesskeys/frontend/servlet/MIRAccessKeyServlet.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
import org.mycore.frontend.servlets.MCRServletJob;
3232
import org.mycore.mcr.acl.accesskey.config.MCRAccessKeyConfig;
3333
import org.mycore.mcr.acl.accesskey.exception.MCRAccessKeyException;
34-
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeyServiceFactory;
34+
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeySessionService;
35+
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeyUserService;
3536

3637
import jakarta.servlet.http.HttpServletRequest;
3738
import jakarta.servlet.http.HttpServletResponse;
@@ -77,9 +78,9 @@ protected void doGetPost(MCRServletJob job) throws Exception {
7778
}
7879
try {
7980
if (isGuest) {
80-
MCRAccessKeyServiceFactory.getAccessKeySessionService().activateAccessKey(objId, value);
81+
MCRAccessKeySessionService.obtainInstance().activateAccessKey(objId, value);
8182
} else {
82-
MCRAccessKeyServiceFactory.getAccessKeyUserService().activateAccessKey(objId, value);
83+
MCRAccessKeyUserService.obtainInstance().activateAccessKey(objId, value);
8384
}
8485
} catch (MCRAccessKeyException e) {
8586
res.sendError(HttpServletResponse.SC_BAD_REQUEST, "Access key is unknown or not allowed.");

mir-module/src/test/java/org/mycore/mir/authorization/MIRStrategyTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
import org.mycore.frontend.cli.MCRCommandLineInterface;
3737
import org.mycore.frontend.cli.MCRCommandManager;
3838
import org.mycore.mcr.acl.accesskey.dto.MCRAccessKeyDto;
39-
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeyServiceFactory;
39+
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeyService;
40+
import org.mycore.mcr.acl.accesskey.service.MCRAccessKeyUserService;
4041
import org.mycore.resource.MCRResourceHelper;
4142
import org.mycore.test.MCRJPAExtension;
4243
import org.mycore.test.MyCoReTest;
@@ -167,13 +168,13 @@ public void checkAccessKeyPermission() throws Exception {
167168
accessKeyRead.setSecret("mySecret");
168169
accessKeyRead.setPermission(MCRAccessManager.PERMISSION_READ);
169170
accessKeyRead.setReference(mir_mods_00004711.toString());
170-
MCRAccessKeyServiceFactory.getAccessKeyService().addAccessKey(accessKeyRead);
171+
MCRAccessKeyService.obtainInstance().addAccessKey(accessKeyRead);
171172

172173
final MCRAccessKeyDto accessKeyWrite = new MCRAccessKeyDto();
173174
accessKeyWrite.setSecret("letMeIn");
174175
accessKeyWrite.setPermission(MCRAccessManager.PERMISSION_WRITE);
175176
accessKeyWrite.setReference(mir_mods_00004711.toString());
176-
MCRAccessKeyServiceFactory.getAccessKeyService().addAccessKey(accessKeyWrite);
177+
MCRAccessKeyService.obtainInstance().addAccessKey(accessKeyWrite);
177178

178179
final MCRCategLinkService categLinkService = MCRCategLinkServiceFactory.obtainInstance();
179180
MCRCategLinkReference ref = new MCRCategLinkReference(mir_mods_00004711);
@@ -183,8 +184,7 @@ public void checkAccessKeyPermission() throws Exception {
183184
assertFalse(strategy.checkPermission(mir_derivate_00004711.toString(), MCRAccessManager.PERMISSION_READ));
184185

185186
//Give user read access-token
186-
MCRAccessKeyServiceFactory.getAccessKeyUserService()
187-
.activateAccessKey(mir_mods_00004711.toString(), "mySecret");
187+
MCRAccessKeyUserService.obtainInstance().activateAccessKey(mir_mods_00004711.toString(), "mySecret");
188188
junitUser = MCRUserManager.getUser(junitUser.getUserName());
189189
MCRSessionMgr.getCurrentSession().setUserInformation(junitUser);
190190

@@ -196,8 +196,7 @@ public void checkAccessKeyPermission() throws Exception {
196196
assertTrue(strategy.checkPermission(mir_mods_00004711.toString(), MCRAccessManager.PERMISSION_PREVIEW));
197197

198198
//Give user write access-token
199-
MCRAccessKeyServiceFactory.getAccessKeyUserService().activateAccessKey(
200-
mir_mods_00004711.toString(), "letMeIn");
199+
MCRAccessKeyUserService.obtainInstance().activateAccessKey(mir_mods_00004711.toString(), "letMeIn");
201200
junitUser = MCRUserManager.getUser(junitUser.getUserName());
202201
MCRSessionMgr.getCurrentSession().setUserInformation(junitUser);
203202

0 commit comments

Comments
 (0)