本文整理汇总了Java中org.springframework.security.test.context.support.WithSecurityContextFactory类的典型用法代码示例。如果您正苦于以下问题:Java WithSecurityContextFactory类的具体用法?Java WithSecurityContextFactory怎么用?Java WithSecurityContextFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
WithSecurityContextFactory类属于org.springframework.security.test.context.support包,在下文中一共展示了WithSecurityContextFactory类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: runChild
import org.springframework.security.test.context.support.WithSecurityContextFactory; //导入依赖的package包/类
/**
* Run the test corresponding to the child, which can be assumed to be an element
* of the list returned by getChildren(). Ensures that relevant test events are
* reported through the notifier.
*
* The implementation wraps the inherited runChild() method to insert the mock/test
* user into the SecurityContext prior to execution and removes it after execution.
*
* @param frameworkMethod The method representing the child test.
* @param notifier The notifier for the test execution.
*/
@SuppressWarnings("unchecked")
@Override
protected void runChild(FrameworkMethod frameworkMethod, RunNotifier notifier) {
if (frameworkMethod instanceof AnnotationFrameworkMethod) {
AnnotationFrameworkMethod annotationFrameworkMethod = (AnnotationFrameworkMethod) frameworkMethod;
Annotation userAnnotation = annotationFrameworkMethod.getAnnotation();
WithSecurityContext withSecurityContext = userAnnotation.annotationType().getAnnotation(WithSecurityContext.class);
Class<? extends WithSecurityContextFactory<? extends Annotation>> clazz = withSecurityContext.factory();
WithSecurityContextFactory withSecurityContextFactory = buildWithSecurityContextFactory(clazz);
SecurityContext securityContext = null;
if (withSecurityContextFactory != null) {
securityContext = withSecurityContextFactory.createSecurityContext(userAnnotation);
}
if (securityContext == null) {
securityContext = SecurityContextHolder.createEmptyContext();
}
SecurityContextHolder.setContext(securityContext);
}
super.runChild(frameworkMethod, notifier);
SecurityContextHolder.clearContext();
}
开发者ID:Mastercard,项目名称:java8-spring-security-test,代码行数:39,代码来源:SpringSecurityJUnit4ClassRunner.java
示例2: TestMethodContext
import org.springframework.security.test.context.support.WithSecurityContextFactory; //导入依赖的package包/类
/**
* Construct a new TestMethodContext with the provided details.
* @param methodName The name of the method being tested.
* @param withTestUsers A list of annotations representing mock/test users.
* @param context The ApplicationContext for the test.
*/
public TestMethodContext(String methodName, List<Annotation> withTestUsers, ApplicationContext context) {
this.methodName = methodName;
WithSecurityContextFactory factory;
for (Annotation withTestUser : withTestUsers) {
factory = buildWithSecurityContextFactory(withTestUser, context);
executionStack.add((User)factory.createSecurityContext(withTestUser).getAuthentication().getPrincipal());
}
}
开发者ID:Mastercard,项目名称:java8-spring-security-test,代码行数:16,代码来源:WatchWithUserTestExecutionListener.java
示例3: buildWithSecurityContextFactory
import org.springframework.security.test.context.support.WithSecurityContextFactory; //导入依赖的package包/类
/**
* Construct a new WithSecurityContextFactory for the provided class name.
* @param withUser The annotation representing the mock/test user.
* @param context The ApplicationContext under which the test is executing.
* @return The instance if it could be constructed, otherwise null.
*/
private WithSecurityContextFactory buildWithSecurityContextFactory(Annotation withUser, ApplicationContext context) {
WithSecurityContext withSecurityContext = withUser.annotationType().getAnnotation(WithSecurityContext.class);
Class<? extends WithSecurityContextFactory<? extends Annotation>> clazz = withSecurityContext.factory();
return buildWithSecurityContextFactory(clazz, context);
}
开发者ID:Mastercard,项目名称:java8-spring-security-test,代码行数:14,代码来源:WatchWithUserTestExecutionListener.java
注:本文中的org.springframework.security.test.context.support.WithSecurityContextFactory类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论