diff options
author | Abyss777 <abyss@fox5.ru> | 2016-11-18 16:05:35 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2016-11-18 16:05:35 +0500 |
commit | c9b67d19132b687bea9130f39f13a5515b120e5e (patch) | |
tree | 5890f28c060777ecb6be32b18daaa2d555496be6 /src/org/traccar/api | |
parent | 3eca9acd6e6a160df8f7b86150429c3d7c09b0c3 (diff) | |
download | trackermap-server-c9b67d19132b687bea9130f39f13a5515b120e5e.tar.gz trackermap-server-c9b67d19132b687bea9130f39f13a5515b120e5e.tar.bz2 trackermap-server-c9b67d19132b687bea9130f39f13a5515b120e5e.zip |
Implement users tokens
Diffstat (limited to 'src/org/traccar/api')
-rw-r--r-- | src/org/traccar/api/resource/SessionResource.java | 6 | ||||
-rw-r--r-- | src/org/traccar/api/resource/UserResource.java | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/org/traccar/api/resource/SessionResource.java b/src/org/traccar/api/resource/SessionResource.java index a61738c7e..6c5263123 100644 --- a/src/org/traccar/api/resource/SessionResource.java +++ b/src/org/traccar/api/resource/SessionResource.java @@ -69,6 +69,12 @@ public class SessionResource extends BaseResource { userId = user.getId(); request.getSession().setAttribute(USER_ID_KEY, userId); } + } else if (request.getParameter("token") != null) { + User user = Context.getPermissionsManager().getUserByToken(request.getParameter("token")); + if (user != null) { + userId = user.getId(); + request.getSession().setAttribute(USER_ID_KEY, userId); + } } } diff --git a/src/org/traccar/api/resource/UserResource.java b/src/org/traccar/api/resource/UserResource.java index c6e84c918..094de2812 100644 --- a/src/org/traccar/api/resource/UserResource.java +++ b/src/org/traccar/api/resource/UserResource.java @@ -66,7 +66,8 @@ public class UserResource extends BaseResource { || old.getAdmin() != entity.getAdmin() || old.getReadonly() != entity.getReadonly() || old.getDisabled() != entity.getDisabled() - || old.getDeviceLimit() != entity.getDeviceLimit()) { + || old.getDeviceLimit() != entity.getDeviceLimit() + || !old.getToken().equals(entity.getToken())) { Context.getPermissionsManager().checkAdmin(getUserId()); } else { Context.getPermissionsManager().checkUser(getUserId(), entity.getId()); |