in systests/webapps/springWebapp/src/main/java/org/apache/cxf/fediz/example/FederationServlet.java [50:105]
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>WS Federation Systests Examples</title></head>");
out.println("<body>");
out.println("<p>Request url: "); out.println(request.getRequestURL()); out.println("</p>");
out.print("<p>userPrincipal=");
Principal p = request.getUserPrincipal();
if (p != null) {
out.print(p.getName());
}
out.println("</p>");
// Access Spring security context
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if (auth instanceof FederationAuthenticationToken) {
FederationAuthenticationToken fedToken = (FederationAuthenticationToken)auth;
List<String> roleListToCheck = Arrays.asList("Admin", "Manager", "User", "Authenticated");
for (String item : roleListToCheck) {
boolean found = false;
for (GrantedAuthority ga : fedToken.getAuthorities()) {
if (ga.getAuthority().toLowerCase().indexOf(item.toLowerCase()) > -1) {
found = true;
break;
}
}
out.println("<p>role:" + item + "=" + (found ? "true" : "false") + "</p>");
}
ClaimCollection claims = fedToken.getClaims();
for (Claim c : claims) {
out.println("<p>" + c.getClaimType().toString() + "=" + c.getValue() + "</p>");
}
Element el = fedToken.getLoginToken();
if (el != null) {
out.println("loginToken=FOUND{FedizPrincipal}<p>");
}
el = SecurityTokenThreadLocal.getToken();
if (el != null) {
out.println("loginToken=FOUND{SecurityTokenThreadLocal}<p>");
}
}
out.println("</body>");
}