aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/api
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2016-11-18 18:08:52 +0500
committerAbyss777 <abyss@fox5.ru>2016-11-18 18:08:52 +0500
commit670c8c7041163a2232d3edb4ef413af70182ea0a (patch)
treeb18b1aa0b18709d1b75aa3f78c69264daca7f060 /src/org/traccar/api
parentc9b67d19132b687bea9130f39f13a5515b120e5e (diff)
downloadtraccar-server-670c8c7041163a2232d3edb4ef413af70182ea0a.tar.gz
traccar-server-670c8c7041163a2232d3edb4ef413af70182ea0a.tar.bz2
traccar-server-670c8c7041163a2232d3edb4ef413af70182ea0a.zip
- Flip user-token map
- Fix null check - Combine validation to setter
Diffstat (limited to 'src/org/traccar/api')
-rw-r--r--src/org/traccar/api/resource/SessionResource.java5
-rw-r--r--src/org/traccar/api/resource/UserResource.java3
2 files changed, 5 insertions, 3 deletions
diff --git a/src/org/traccar/api/resource/SessionResource.java b/src/org/traccar/api/resource/SessionResource.java
index 6c5263123..db8a5c837 100644
--- a/src/org/traccar/api/resource/SessionResource.java
+++ b/src/org/traccar/api/resource/SessionResource.java
@@ -29,6 +29,7 @@ import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@@ -48,7 +49,7 @@ public class SessionResource extends BaseResource {
@PermitAll
@GET
- public User get() throws SQLException {
+ public User get(@QueryParam("token") String token) throws SQLException {
Long userId = (Long) request.getSession().getAttribute(USER_ID_KEY);
if (userId == null) {
Cookie[] cookies = request.getCookies();
@@ -69,7 +70,7 @@ public class SessionResource extends BaseResource {
userId = user.getId();
request.getSession().setAttribute(USER_ID_KEY, userId);
}
- } else if (request.getParameter("token") != null) {
+ } else if (token != null) {
User user = Context.getPermissionsManager().getUserByToken(request.getParameter("token"));
if (user != null) {
userId = user.getId();
diff --git a/src/org/traccar/api/resource/UserResource.java b/src/org/traccar/api/resource/UserResource.java
index 094de2812..2ff1639f6 100644
--- a/src/org/traccar/api/resource/UserResource.java
+++ b/src/org/traccar/api/resource/UserResource.java
@@ -67,7 +67,8 @@ public class UserResource extends BaseResource {
|| old.getReadonly() != entity.getReadonly()
|| old.getDisabled() != entity.getDisabled()
|| old.getDeviceLimit() != entity.getDeviceLimit()
- || !old.getToken().equals(entity.getToken())) {
+ || old.getToken() == null && entity.getToken() != null
+ || old.getToken() != null && !old.getToken().equals(entity.getToken())) {
Context.getPermissionsManager().checkAdmin(getUserId());
} else {
Context.getPermissionsManager().checkUser(getUserId(), entity.getId());