]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/management/GetCredentials.java
Crednetials
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / management / GetCredentials.java
1 package org.argeo.slc.web.mvc.management;
2
3 import java.io.IOException;
4
5 import javax.servlet.ServletException;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.springframework.security.Authentication;
10 import org.springframework.security.GrantedAuthority;
11 import org.springframework.security.context.SecurityContextHolder;
12 import org.springframework.web.HttpRequestHandler;
13
14 import com.springsource.json.writer.JSONWriter;
15 import com.springsource.json.writer.JSONWriterImpl;
16
17 public class GetCredentials implements HttpRequestHandler {
18
19 public void handleRequest(HttpServletRequest request,
20 HttpServletResponse response) throws ServletException, IOException {
21 response.setContentType("application/json");
22
23 Authentication authentication = SecurityContextHolder.getContext()
24 .getAuthentication();
25
26 JSONWriter jsonWriter = new JSONWriterImpl(response.getWriter())
27 .object().key("user").value(authentication.getName());
28 jsonWriter.key("roles").array();
29 for (GrantedAuthority ga : authentication.getAuthorities()) {
30 jsonWriter.value(ga.getAuthority());
31 }
32 jsonWriter.endArray();
33 jsonWriter.endObject();
34 }
35
36 }