-// if (!sharedState.containsKey(CmsAuthUtils.SHARED_STATE_NAME)) {
-// try {
-// GSSName name = gssContext.getSrcName();
-// String username = name.toString();
-// // TODO deal with connecting service
-// // TODO generate IPA DN?
-// username = username.substring(0, username.lastIndexOf('@'));
-// sharedState.put(CmsAuthUtils.SHARED_STATE_NAME, username);
-// } catch (GSSException e) {
-// throw new IllegalStateException("Cannot retrieve SPNEGO name", e);
-// }
-// }
+ if (!sharedState.containsKey(CmsAuthUtils.SHARED_STATE_NAME)) {
+ try {
+ if (gssContext.getCredDelegState()) {
+ // commit will succeeed only if we have credential delegation
+ GSSName name = gssContext.getSrcName();
+ String username = name.toString();
+ sharedState.put(CmsAuthUtils.SHARED_STATE_NAME, username);
+ }
+ } catch (GSSException e) {
+ throw new IllegalStateException("Cannot retrieve SPNEGO name", e);
+ }
+ }