Comment obtenir des Rôles de UserPrincipal en Java?

J'ai créé une classe(Nommé en tant que CustomRequestWrapper) qui est la mise en œuvre de HttpServletRequestWrapper .Dans CustomRequestWrapper classe je suis en train d'utilisateur principal.Maintenant, dans mon code, je veux avoir la liste des rôles de l'utilisateur principal.J'ai essayé d'utiliser GenericPrincipal de tomcat-catalina pot mais je suis arriver casting d'exception CustomRequestWrapper ne peut pas être lancé à GenericPrincipal. Pouvait-on idée de comment obtenir des rôles de l'utilisateur principal?

Note: j'utilise Apache Tomcat Serveur

Voici mon code:

public class CustomRequestWrapper extends javax.servlet.http.HttpServletRequestWrapper {
public CustomRequestWrapper(String User,List<String> roles,HttpServletRequest request) {
super(request);
this.user=User;
this.roles=roles;
this.realRequest=request;
headerMap = new HashMap();
}
String user;  
List<String> roles = null; 
HttpServletRequest realRequest;  
private Map headerMap;
public void addHeader(String name, String value) {
headerMap.put(name, new String(value));
}
public Enumeration getHeaderNames() {
HttpServletRequest request = (HttpServletRequest) getRequest();
List list = new ArrayList();
for (Enumeration e = request.getHeaderNames(); e.hasMoreElements();) {
list.add(e.nextElement().toString());
}
for (Iterator i = headerMap.keySet().iterator(); i.hasNext();) {
list.add(i.next());
}
return Collections.enumeration(list);
}
public String getHeader(String name) {
Object value;
if ((value = headerMap.get("" + name)) != null)
return value.toString();
else
return ((HttpServletRequest) getRequest()).getHeader(name);
}
@override
public boolean isUserInRole(String role) {  
if (roles == null) {  
return this.realRequest.isUserInRole(role);  
}  
return roles.contains(role);  
}  
@override
public Principal getUserPrincipal() {  
if (this.user == null) {  
return realRequest.getUserPrincipal();  
}  
//make an anonymous implementation to just return our user  
return new Principal() {  
public String getName() {       
return user;  
}  
};  
}  

}

Êtes-vous essayer d'obtenir les rôles pour un tomcat utilisateur authentifié, c'est les rôles déclaré dans tomcat-users.xml ?
Pas de .J'essaie d'obtenir les rôles pour mon application utilisateur authentifié
Fine, pourriez-vous montrer le code pour vous CustomRequestWrapper ?
S'il vous plaît vérifier ,j'ai téléchargé mon code

OriginalL'auteur Nadendla | 2014-05-28