in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/identity/WorkflowInternalAuthProvider.java [205:230]
protected UserDetails retrieveUser(String username, Object details)
throws Exception {
if (details == null || !(details instanceof WebAuthenticationDetails))
throw new UsernameNotFoundException("context unsupported");
if (!username.startsWith(PREFIX))
throw new UsernameNotFoundException(
"unsupported username for this provider");
if (logDecisions)
log.info("request for auth for user " + username);
String wfid = username.substring(PREFIX.length());
String securityToken;
try {
securityToken = cache.get(wfid);
if (securityToken == null) {
securityToken = dao.getSecurityToken(wfid);
if (securityToken == null)
throw new UsernameNotFoundException("no such user");
cache.put(wfid, securityToken);
}
} catch (NullPointerException npe) {
throw new UsernameNotFoundException("no such user");
}
return new User(username, securityToken, true, true, true, true,
Arrays.asList(new LiteralGrantedAuthority(SELF),
new WorkflowSelfAuthority(wfid)));
}