@Override public Set<String> getCallerGroups(CredentialValidationResult validationResult) { SecurityManager securityManager = System.getSecurityManager(); if (securityManager != null) { securityManager.checkPermission(new IdentityStorePermission("getGroups")); } DataSource dataSource = getDataSource(); return new HashSet<>(executeQuery( dataSource, dataBaseIdentityStoreDefinition.groupsQuery(), validationResult.getCallerPrincipal().getName()) ); }
@Override public Set<String> getCallerGroups(CredentialValidationResult validationResult) { SecurityManager securityManager = System.getSecurityManager(); if (securityManager != null) { securityManager.checkPermission(new IdentityStorePermission("getGroups")); } DataSource dataSource = getDataSource(); return new HashSet<>(executeQuery( dataSource, dataBaseIdentityStoreDefinition.groupsQuery(), validationResult.getCallerPrincipal().getName()) ); }
public static boolean hasAnyELExpression(DatabaseIdentityStoreDefinition in) { return AnnotationELPProcessor.hasAnyELExpression( in.dataSourceLookup(), in.callerQuery(), in.groupsQuery(), in.priorityExpression(), in.useForExpression() ); }
public static boolean hasAnyELExpression(DatabaseIdentityStoreDefinition in) { return AnnotationELPProcessor.hasAnyELExpression( in.dataSourceLookup(), in.callerQuery(), in.groupsQuery(), in.priorityExpression(), in.useForExpression() ); }
public CredentialValidationResult validate(UsernamePasswordCredential usernamePasswordCredential) { DataSource dataSource = getDataSource(); List<String> passwords = executeQuery( dataSource, dataBaseIdentityStoreDefinition.callerQuery(), usernamePasswordCredential.getCaller() ); if (passwords.isEmpty()) { return INVALID_RESULT; } if (hashAlgorithm.verify(usernamePasswordCredential.getPassword().getValue(), passwords.get(0))) { Set<String> groups = emptySet(); if (validationTypes.contains(ValidationType.PROVIDE_GROUPS)) { groups = new HashSet<>(executeQuery(dataSource, dataBaseIdentityStoreDefinition.groupsQuery(), usernamePasswordCredential.getCaller())); } return new CredentialValidationResult(new CallerPrincipal(usernamePasswordCredential.getCaller()), groups); } return INVALID_RESULT; }
public CredentialValidationResult validate(UsernamePasswordCredential usernamePasswordCredential) { DataSource dataSource = getDataSource(); List<String> passwords = executeQuery( dataSource, dataBaseIdentityStoreDefinition.callerQuery(), usernamePasswordCredential.getCaller() ); if (passwords.isEmpty()) { return INVALID_RESULT; } if (hashAlgorithm.verify(usernamePasswordCredential.getPassword().getValue(), passwords.get(0))) { Set<String> groups = emptySet(); if (validationTypes.contains(ValidationType.PROVIDE_GROUPS)) { groups = new HashSet<>(executeQuery(dataSource, dataBaseIdentityStoreDefinition.groupsQuery(), usernamePasswordCredential.getCaller())); } return new CredentialValidationResult(new CallerPrincipal(usernamePasswordCredential.getCaller()), groups); } return INVALID_RESULT; }
public static DatabaseIdentityStoreDefinition eval(DatabaseIdentityStoreDefinition in) { if (!hasAnyELExpression(in)) { return in; } DatabaseIdentityStoreDefinitionAnnotationLiteral out = new DatabaseIdentityStoreDefinitionAnnotationLiteral( evalImmediate(in.dataSourceLookup()), evalImmediate(in.callerQuery()), evalImmediate(in.groupsQuery()), in.hashAlgorithm(), in.hashAlgorithmParameters(), evalImmediate(in.priorityExpression(), in.priority()), emptyIfImmediate(in.priorityExpression()), evalImmediate(in.useForExpression(), in.useFor()), emptyIfImmediate(in.useForExpression()) ); out.setHasDeferredExpressions(hasAnyELExpression(out)); return out; }
public static DatabaseIdentityStoreDefinition eval(DatabaseIdentityStoreDefinition in) { if (!hasAnyELExpression(in)) { return in; } DatabaseIdentityStoreDefinitionAnnotationLiteral out = new DatabaseIdentityStoreDefinitionAnnotationLiteral( evalImmediate(in.dataSourceLookup()), evalImmediate(in.callerQuery()), evalImmediate(in.groupsQuery()), in.hashAlgorithm(), in.hashAlgorithmParameters(), evalImmediate(in.priorityExpression(), in.priority()), emptyIfImmediate(in.priorityExpression()), evalImmediate(in.useForExpression(), in.useFor()), emptyIfImmediate(in.useForExpression()) ); out.setHasDeferredExpressions(hasAnyELExpression(out)); return out; }