Java源码示例:org.jasig.services.persondir.IPersonAttributeDao

示例1
@Before
public void setup() {
    attributes = new HashMap<>();
    attributes.put("a1", new ArrayList(Arrays.asList(new Object[]{"v1", "v2", "v3"})));
    attributes.put("mail", new ArrayList(Arrays.asList(new Object[]{"[email protected]"})));
    attributes.put("a6", new ArrayList(Arrays.asList(new Object[]{"v16", "v26", "v63"})));
    attributes.put("a2", new ArrayList(Arrays.asList(new Object[]{"v4"})));
    attributes.put("username", new ArrayList(Arrays.asList(new Object[]{"uid"})));

    this.dao = mock(IPersonAttributeDao.class);
    final IPersonAttributes person = mock(IPersonAttributes.class);
    when(person.getName()).thenReturn("uid");
    when(person.getAttributes()).thenReturn(attributes);
    when(dao.getPerson(any(String.class))).thenReturn(person);

    this.principal = this.principalFactory.createPrincipal("uid",
            Collections.<String, Object>singletonMap("mail",
                    new ArrayList(Arrays.asList(new Object[]{"[email protected]"}))));
}
 
示例2
@Test
public void checkServiceAttributeFilterAllAttributesWithCachingTurnedOn() {
    final ReturnAllAttributeReleasePolicy policy = new ReturnAllAttributeReleasePolicy();

    final Map<String, List<Object>> attributes = new HashMap<>();
    attributes.put("values", Arrays.asList(new Object[]{"v1", "v2", "v3"}));
    attributes.put("cn", Arrays.asList(new Object[]{"commonName"}));
    attributes.put("username", Arrays.asList(new Object[]{"uid"}));

    final IPersonAttributeDao dao = new StubPersonAttributeDao(attributes);
    final IPersonAttributes person = mock(IPersonAttributes.class);
    when(person.getName()).thenReturn("uid");
    when(person.getAttributes()).thenReturn(attributes);

    final PrincipalAttributesRepository repository =
            new CachingPrincipalAttributesRepository(dao, TimeUnit.MILLISECONDS, 100);

    final Principal p = new DefaultPrincipalFactory().createPrincipal("uid",
                Collections.<String, Object>singletonMap("mail", "[email protected]"));

    policy.setPrincipalAttributesRepository(repository);

    final Map<String, Object> attr = policy.getAttributes(p);
    assertEquals(attr.size(), attributes.size());
}
 
示例3
/**
 * Instantiates a new registered service simple form controller.
 *
 * @param servicesManager    the services manager
 * @param personAttributeDao the attribute repository
 */
@Autowired
public RegisteredServiceSimpleFormController(final ServicesManager servicesManager,
                                             final IPersonAttributeDao personAttributeDao) {
    super(servicesManager);
    this.personAttributeDao = personAttributeDao;
}
 
示例4
public static IPersonAttributeDao getAttributeRepository() {
    final Map<String, List<Object>>  attributes = new HashMap<String, List<Object>>();
    attributes.put("uid", (List) Arrays.asList(CONST_USERNAME));
    attributes.put("cn", (List) Arrays.asList(CONST_USERNAME.toUpperCase()));
    attributes.put("givenName", (List) Arrays.asList(CONST_USERNAME));
    attributes.put("memberOf", (List) Arrays.asList("system", "admin", "cas"));
    return new StubPersonAttributeDao(attributes);
}
 
示例5
/**
 * Registers the default credentials-to-principal resolver for the second or later factors. Also attaches an
 * attribute repository to the resolver.
 */
protected void registerDefaultCredentialsToPrincipalResolver() {
    final List<PrincipalResolver> resolvers = this.context.getBean("mfaCredentialsToPrincipalResolvers", List.class);
    final PersonDirectoryPrincipalResolver defaultResolver = new PersonDirectoryPrincipalResolver();

    final IPersonAttributeDao attributeRepository = this.context.getBean("attributeRepository", IPersonAttributeDao.class);
    final PrincipalFactory principalFactory = this.context.getBean("principalFactory", PrincipalFactory.class);
    defaultResolver.setAttributeRepository(attributeRepository);
    defaultResolver.setPrincipalFactory(principalFactory);
    resolvers.add(defaultResolver);
}
 
示例6
public final void setAttributeRepository(final IPersonAttributeDao attributeRepository) {
    this.attributeRepository = attributeRepository;
}
 
示例7
public final void setAttributeRepository(final IPersonAttributeDao attributeRepository) {
    this.attributeRepository = attributeRepository;
}
 
示例8
public void setPersonAttributeDao(final IPersonAttributeDao personAttributeDao) {
    this.personAttributeDao = personAttributeDao;
}
 
示例9
public RegisteredServiceSimpleFormController(
        final ServicesManager servicesManager,
        final IPersonAttributeDao attributeRepository) {
    this.servicesManager = servicesManager;
    this.personAttributeDao = attributeRepository;
}
 
示例10
/**
 * Instantiates a new caching attributes principal factory.
 *
 * @param attributeRepository the attribute repository
 * @param config the config
 * @param cacheProviderFullClassName the cache provider full class name
 */
private CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository,
                                             final MutableConfiguration<String, Map<String, Object>> config,
                                             final String cacheProviderFullClassName) {
    this(attributeRepository, config,
            Caching.getCachingProvider(cacheProviderFullClassName).getCacheManager());
}
 
示例11
/**
 * Instantiates a new caching attributes principal factory.
 *
 * @param attributeRepository the attribute repository
 * @param config the config
 * @param manager the manager
 */
private CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository,
                                             final MutableConfiguration<String, Map<String, Object>> config,
                                             final CacheManager manager) {
    this.attributeRepository = attributeRepository;
    this.cache = manager.createCache(this.cacheName, config);
}
 
示例12
/**
 * Instantiates a new caching attributes principal factory.
 * Caches the attributes based on duration units of {@link #DEFAULT_CACHE_EXPIRATION_DURATION}
 * and {@link #DEFAULT_CACHE_EXPIRATION_UNIT}.
 * @param attributeRepository the attribute repository
 */
public CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository) {
    this(attributeRepository, DEFAULT_CACHE_EXPIRATION_DURATION);
}
 
示例13
/**
 * Instantiates a new caching attributes principal factory.
 * Caches the attributes based on duration units of {@link #DEFAULT_CACHE_EXPIRATION_DURATION}
 * and the given time.
 * @param attributeRepository the attribute repository
 * @param expiryDuration the expiry duration based on the unit of {@link #DEFAULT_CACHE_EXPIRATION_DURATION}
 */
public CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository, final long expiryDuration) {
    this(attributeRepository, DEFAULT_CACHE_EXPIRATION_UNIT, expiryDuration);
}
 
示例14
/**
 * Instantiates a new caching attributes principal factory.
 *
 * @param attributeRepository the attribute repository
 * @param timeUnit the time unit
 * @param expiryDuration the expiry duration
 */
public CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository,
                                            final TimeUnit timeUnit,
                                            final long expiryDuration) {
    this(attributeRepository, new Duration(timeUnit, expiryDuration));
}
 
示例15
/**
 * Instantiates a new caching attributes principal factory.
 *
 * @param attributeRepository the attribute repository
 * @param duration the duration
 */
private CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository,
                                             final Duration duration) {
    this(attributeRepository, createCacheConfiguration(duration));
    this.duration = duration;
}
 
示例16
/**
 * Instantiates a new caching attributes principal factory.
 *
 * @param attributeRepository the attribute repository
 * @param config the config
 */
private CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository,
                                             final MutableConfiguration<String, Map<String, Object>> config) {
    this(attributeRepository, config, Caching.getCachingProvider().getCacheManager());
}
 
示例17
/**
 * Instantiates a new caching attributes principal factory.
 *
 * @param attributeRepository the attribute repository
 * @param cache the cache
 */
private CachingPrincipalAttributesRepository(final IPersonAttributeDao attributeRepository,
                                             final Cache<String, Map<String, Object>> cache) {
    this.attributeRepository = attributeRepository;
    this.cache = cache;
}
 
示例18
/**
 * Gets attribute repository.
 *
 * @return the attribute repository
 */
public IPersonAttributeDao getAttributeRepository() {
    return this.attributeRepository;
}