当前位置: 首页>>代码示例>>Java>>正文


Java WithSecurityContextFactory类代码示例

本文整理汇总了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;未经允许,请勿转载。