aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/web
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/web')
-rw-r--r--src/org/traccar/web/AsyncServlet.java2
-rw-r--r--src/org/traccar/web/BaseServlet.java2
-rw-r--r--src/org/traccar/web/WebServer.java7
3 files changed, 7 insertions, 4 deletions
diff --git a/src/org/traccar/web/AsyncServlet.java b/src/org/traccar/web/AsyncServlet.java
index b10df5408..e4cb64c57 100644
--- a/src/org/traccar/web/AsyncServlet.java
+++ b/src/org/traccar/web/AsyncServlet.java
@@ -226,7 +226,7 @@ public class AsyncServlet extends BaseServlet {
synchronized (ASYNC_SESSIONS) {
if (Boolean.parseBoolean(req.getParameter("first")) || !ASYNC_SESSIONS.containsKey(userId)) {
- Collection<Long> devices = Context.getPermissionsManager().allowedDevices(userId);
+ Collection<Long> devices = Context.getPermissionsManager().getDevicePermissions(userId);
ASYNC_SESSIONS.put(userId, new AsyncSession(userId, devices));
}
diff --git a/src/org/traccar/web/BaseServlet.java b/src/org/traccar/web/BaseServlet.java
index 8b022d556..17f4f19cd 100644
--- a/src/org/traccar/web/BaseServlet.java
+++ b/src/org/traccar/web/BaseServlet.java
@@ -53,7 +53,7 @@ public abstract class BaseServlet extends HttpServlet {
String origin = req.getHeader(HttpHeaders.Names.ORIGIN);
String allowed = Context.getConfig().getString("web.origin");
- if (allowed == null) {
+ if (allowed == null || origin == null) {
resp.setHeader(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_ORIGIN, ALLOW_ORIGIN_VALUE);
} else if (allowed.contains(origin)) {
String originSafe = URLEncoder.encode(origin, StandardCharsets.UTF_8.name());
diff --git a/src/org/traccar/web/WebServer.java b/src/org/traccar/web/WebServer.java
index d6cd19d87..4e764d5d6 100644
--- a/src/org/traccar/web/WebServer.java
+++ b/src/org/traccar/web/WebServer.java
@@ -42,7 +42,9 @@ import org.traccar.api.ResourceErrorHandler;
import org.traccar.api.SecurityRequestFilter;
import org.traccar.api.resource.CommandResource;
import org.traccar.api.resource.DeviceResource;
-import org.traccar.api.resource.PermissionResource;
+import org.traccar.api.resource.DevicePermissionResource;
+import org.traccar.api.resource.GroupPermissionResource;
+import org.traccar.api.resource.GroupResource;
import org.traccar.api.resource.PositionResource;
import org.traccar.api.resource.ServerResource;
import org.traccar.api.resource.SessionResource;
@@ -140,7 +142,8 @@ public class WebServer {
resourceConfig.register(SecurityRequestFilter.class);
resourceConfig.register(CorsResponseFilter.class);
resourceConfig.registerClasses(ServerResource.class, SessionResource.class, CommandResource.class,
- PermissionResource.class, DeviceResource.class, UserResource.class, PositionResource.class);
+ GroupPermissionResource.class, DevicePermissionResource.class, UserResource.class,
+ GroupResource.class, DeviceResource.class, PositionResource.class);
servletHandler.addServlet(new ServletHolder(new ServletContainer(resourceConfig)), "/*");
handlers.addHandler(servletHandler);