320457 set initial role as domain user logged in under for spnego


git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/sandbox/trunk@2192 7e9141cc-0065-0410-87d8-b60c137991c4
diff --git a/jetty-spnego/src/main/java/org/eclipse/jetty/spnego/SpnegoLoginService.java b/jetty-spnego/src/main/java/org/eclipse/jetty/spnego/SpnegoLoginService.java
index 6be60d6..420296e 100644
--- a/jetty-spnego/src/main/java/org/eclipse/jetty/spnego/SpnegoLoginService.java
+++ b/jetty-spnego/src/main/java/org/eclipse/jetty/spnego/SpnegoLoginService.java
@@ -15,6 +15,7 @@
 //You may elect to redistribute this code under either of these licenses. 
 //========================================================================
 
+import java.util.Collections;
 import java.util.Properties;
 
 import javax.security.auth.Subject;
@@ -132,18 +133,20 @@
                 }
                 if (gContext.isEstablished())
                 {
+                    String clientName = gContext.getSrcName().toString();
+                    String role = clientName.substring(clientName.indexOf('@') + 1);
+                    
                     Log.debug("SpnegoUserRealm: established a security context");
                     Log.debug("Client Principal is: " + gContext.getSrcName());
                     Log.debug("Server Principal is: " + gContext.getTargName());
+                    Log.debug("Client Default Role: " + role);
 
-                    GSSName srcName = gContext.getSrcName();
-
-                    SpnegoUserPrincipal user = new SpnegoUserPrincipal(srcName.toString(),authToken);
+                    SpnegoUserPrincipal user = new SpnegoUserPrincipal(clientName,authToken);
 
                     Subject subject = new Subject();
                     subject.getPrincipals().add(user);
-
-                    return _identityService.newUserIdentity(subject,user,null);
+                    
+                    return _identityService.newUserIdentity(subject,user, new String[]{role});
                 }
             }