protected UserDetails retrieveUser()

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)));
	}