aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/api/security
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-06-16 18:11:36 -0700
committerAnton Tananaev <anton@traccar.org>2022-06-16 18:11:36 -0700
commit0de7889d5548ab16bc8dc31e8734dc48dd51d43d (patch)
treed73c1613ef4a03a2992f2fdb262bd62b5d32586b /src/main/java/org/traccar/api/security
parentb100cb211161d1014dfaa1ab532f1670c699e80d (diff)
downloadtrackermap-server-0de7889d5548ab16bc8dc31e8734dc48dd51d43d.tar.gz
trackermap-server-0de7889d5548ab16bc8dc31e8734dc48dd51d43d.tar.bz2
trackermap-server-0de7889d5548ab16bc8dc31e8734dc48dd51d43d.zip
Better Jersey injection
Diffstat (limited to 'src/main/java/org/traccar/api/security')
-rw-r--r--src/main/java/org/traccar/api/security/SecurityRequestFilter.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/org/traccar/api/security/SecurityRequestFilter.java b/src/main/java/org/traccar/api/security/SecurityRequestFilter.java
index ad45dc112..3413175c8 100644
--- a/src/main/java/org/traccar/api/security/SecurityRequestFilter.java
+++ b/src/main/java/org/traccar/api/security/SecurityRequestFilter.java
@@ -17,7 +17,6 @@ package org.traccar.api.security;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.traccar.Main;
import org.traccar.api.resource.SessionResource;
import org.traccar.database.LoginService;
import org.traccar.database.StatisticsManager;
@@ -26,11 +25,13 @@ import org.traccar.model.User;
import org.traccar.storage.StorageException;
import javax.annotation.security.PermitAll;
+import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.container.ResourceInfo;
+import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
import java.lang.reflect.Method;
@@ -55,12 +56,18 @@ public class SecurityRequestFilter implements ContainerRequestFilter {
return null;
}
- @javax.ws.rs.core.Context
+ @Context
private HttpServletRequest request;
- @javax.ws.rs.core.Context
+ @Context
private ResourceInfo resourceInfo;
+ @Inject
+ private LoginService loginService;
+
+ @Inject
+ private StatisticsManager statisticsManager;
+
@Override
public void filter(ContainerRequestContext requestContext) {
@@ -77,9 +84,9 @@ public class SecurityRequestFilter implements ContainerRequestFilter {
try {
String[] auth = decodeBasicAuth(authHeader);
- User user = Main.getInjector().getInstance(LoginService.class).login(auth[0], auth[1]);
+ User user = loginService.login(auth[0], auth[1]);
if (user != null) {
- Main.getInjector().getInstance(StatisticsManager.class).registerRequest(user.getId());
+ statisticsManager.registerRequest(user.getId());
securityContext = new UserSecurityContext(new UserPrincipal(user.getId()));
}
} catch (StorageException e) {
@@ -90,7 +97,7 @@ public class SecurityRequestFilter implements ContainerRequestFilter {
Long userId = (Long) request.getSession().getAttribute(SessionResource.USER_ID_KEY);
if (userId != null) {
- Main.getInjector().getInstance(StatisticsManager.class).registerRequest(userId);
+ statisticsManager.registerRequest(userId);
securityContext = new UserSecurityContext(new UserPrincipal(userId));
}