import javax.security.auth.x500.X500Principal;
import org.argeo.ArgeoException;
+import org.osgi.service.useradmin.Authorization;
/** Static utilities */
public final class SecurityUtils {
* anonymous
*/
public static String getCurrentThreadUsername() {
- return getUsername();
- }
-
- public final static String getUsername() {
Subject subject = Subject.getSubject(AccessController.getContext());
if (subject == null)
return null;
+ return getUsername(subject);
+ }
+
+ public final static String getUsername(Subject subject) {
+ // Subject subject = Subject.getSubject(AccessController.getContext());
+ // if (subject == null)
+ // return null;
if (subject.getPrincipals(X500Principal.class).size() != 1)
return null;
Principal principal = subject.getPrincipals(X500Principal.class)
}
+ public final static String getDisplayName(Subject subject) {
+ return getAuthorization(subject).toString();
+ }
+
+ public final static Authorization getAuthorization(Subject subject) {
+ return subject.getPrivateCredentials(Authorization.class).iterator()
+ .next();
+ }
+
public final static Set<String> roles() {
Set<String> roles = Collections.synchronizedSet(new HashSet<String>());
Subject subject = Subject.getSubject(AccessController.getContext());