@Override public GroupMembership getEffectiveGroups() { if (effectiveGroups == null) { if (authConfig.isIdentityTrustable(state().getExternalIds())) { effectiveGroups = groupBackend.membershipsOf(this); } else { effectiveGroups = registeredGroups; } } return effectiveGroups; }
@Override public List<AccountExternalId> call() throws OrmException { final AccountExternalId.Key last = session.getLastLoginExternalId(); final List<AccountExternalId> ids = db.accountExternalIds().byAccount(user.getAccountId()).toList(); for (final AccountExternalId e : ids) { e.setTrusted(authConfig.isIdentityTrustable(Collections.singleton(e))); // The identity can be deleted only if its not the one used to // establish this web session, and if only if an identity was // actually used to establish this web session. // if (e.isScheme(SCHEME_USERNAME)) { e.setCanDelete(false); } else { e.setCanDelete(last != null && !last.equals(e.getKey())); } } return ids; }