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