當前位置: 首頁>>代碼示例>>Java>>正文


Java PreAuthenticatedAuthenticationToken類代碼示例

本文整理匯總了Java中org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken的典型用法代碼示例。如果您正苦於以下問題:Java PreAuthenticatedAuthenticationToken類的具體用法?Java PreAuthenticatedAuthenticationToken怎麽用?Java PreAuthenticatedAuthenticationToken使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


PreAuthenticatedAuthenticationToken類屬於org.springframework.security.web.authentication.preauth包,在下文中一共展示了PreAuthenticatedAuthenticationToken類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: successfulWhoAmI

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Test
public void successfulWhoAmI() {
    openShiftServer.expect()
        .get().withPath("/oapi/v1/users/~")
        .andReturn(
            200,
            new UserBuilder().withFullName("Test User").withNewMetadata().withName("testuser").and().build()
        ).once();

    SecurityContextHolder.getContext().setAuthentication(new PreAuthenticatedAuthenticationToken("testuser", "doesn'tmatter"));

    UserHandler userHandler = new UserHandler(null, new OpenShiftServiceImpl(openShiftServer.getOpenshiftClient(), null));
    User user = userHandler.whoAmI();
    Assertions.assertThat(user).isNotNull();
    Assertions.assertThat(user.getUsername()).isEqualTo("testuser");
    Assertions.assertThat(user.getFullName()).isNotEmpty().hasValue("Test User");
}
 
開發者ID:syndesisio,項目名稱:syndesis,代碼行數:18,代碼來源:UserHandlerTest.java

示例2: successfulWhoAmIWithoutFullName

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Test
public void successfulWhoAmIWithoutFullName() {
    openShiftServer.expect()
        .get().withPath("/oapi/v1/users/~")
        .andReturn(
            200,
            new UserBuilder().withNewMetadata().withName("testuser").and().build()
        ).once();

    SecurityContextHolder.getContext().setAuthentication(new PreAuthenticatedAuthenticationToken("testuser", "doesn'tmatter"));

    UserHandler userHandler = new UserHandler(null, new OpenShiftServiceImpl(openShiftServer.getOpenshiftClient(), null));
    User user = userHandler.whoAmI();
    Assertions.assertThat(user).isNotNull();
    Assertions.assertThat(user.getUsername()).isEqualTo("testuser");
    Assertions.assertThat(user.getFullName()).isEmpty();
}
 
開發者ID:syndesisio,項目名稱:syndesis,代碼行數:18,代碼來源:UserHandlerTest.java

示例3: deleteTodoItem

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
/**
 * HTTP DELETE
 */
@RequestMapping(value = "/api/todolist/{id}", method = RequestMethod.DELETE)
public ResponseEntity<String> deleteTodoItem(@PathVariable("id") int id,
                                             PreAuthenticatedAuthenticationToken authToken) {
    final UserPrincipal current = (UserPrincipal) authToken.getPrincipal();

    if (current.isMemberOf(
            new UserGroup("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "group1"))) {
        final List<TodoItem> find = todoList.stream().filter(i -> i.getID() == id).collect(Collectors.toList());
        if (!find.isEmpty()) {
            todoList.remove(todoList.indexOf(find.get(0)));
            return new ResponseEntity<>("OK", HttpStatus.OK);
        }
        return new ResponseEntity<>("Entity not found", HttpStatus.OK);
    } else {
        return new ResponseEntity<>("Access is denied", HttpStatus.OK);
    }

}
 
開發者ID:Microsoft,項目名稱:azure-spring-boot,代碼行數:22,代碼來源:TodolistController.java

示例4: loadUserDetails

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
public UserDetails loadUserDetails(PreAuthenticatedAuthenticationToken token) throws AuthenticationException {
	Set<SimpleGrantedAuthority> authorities = new HashSet<SimpleGrantedAuthority>();
	String credentials = (String)token.getCredentials();
	for(String credential : StringUtils.split(credentials, ";")) {
		if(mappingGroupesRoles != null && mappingGroupesRoles.containsKey(credential)){ 
			authorities.add(new SimpleGrantedAuthority(mappingGroupesRoles.get(credential)));
		}
	}
	for(String roleFromLdap : ldapGroup2UserRoleService.getRoles(token.getName())) {
		authorities.add(new SimpleGrantedAuthority(roleFromLdap));
	}
	log.info("Shib & Ldap Credentials for " + token.getName() + " -> " + authorities);
	return createUserDetails(token, authorities);
}
 
開發者ID:EsupPortail,項目名稱:esup-sgc,代碼行數:15,代碼來源:ShibAuthenticatedUserDetailsService.java

示例5: authenticate

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
    Authentication authenticationUser = null;
    // 隻處理 PreAuthenticatedAuthenticationToken
    if (authentication.getClass().isAssignableFrom(PreAuthenticatedAuthenticationToken.class)
            && authentication.getPrincipal() != null) {
        String tokenHeader = (String) authentication.getPrincipal();
        UserDetails userDetails = parseToken(tokenHeader);
        if (userDetails != null) {
            authenticationUser = new JsonWebTokenAuthentication(userDetails, tokenHeader);
        }
    } else {
        // 已經有 JsonWebTokenAuthentication
        authenticationUser = authentication;
    }
    return authenticationUser;
}
 
開發者ID:jeikerxiao,項目名稱:SpringBootStudy,代碼行數:18,代碼來源:JsonWebTokenAuthenticationProvider.java

示例6: loadUserDetails

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Override
public UserDetails loadUserDetails(PreAuthenticatedAuthenticationToken token) throws UsernameNotFoundException {
	String principal = (String) token.getPrincipal();

	UserDetails result = null;
	if(!Strings.isNullOrEmpty(principal)) {
		logger.debug(principal);
		String[] slices = principal.split(":");
		String email = slices[0];
		String secret = slices[1];

		try {
			AccessToken p = accessTokenService.valid(email, secret);
			result = userService.findByEmail(p.getEmail());
		} catch(Exception ex) {
			throw new UsernameNotFoundException("");
		}
	}

	return result;
}
 
開發者ID:nonocast,項目名稱:todolist,代碼行數:22,代碼來源:ApiAuthenticationUserDetailsService.java

示例7: doFilter

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
  Authentication auth = AuthenticatedRequest
      .getSpinnakerUser()
      .map(username -> (Authentication) new PreAuthenticatedAuthenticationToken(username,
                                                                                null,
                                                                                new ArrayList<>()))
      .orElseGet(() -> new AnonymousAuthenticationToken(
          "anonymous",
          "anonymous",
          AuthorityUtils.createAuthorityList("ROLE_ANONYMOUS")
      ));

  val ctx = SecurityContextHolder.createEmptyContext();
  ctx.setAuthentication(auth);
  SecurityContextHolder.setContext(ctx);
  log.debug("Set SecurityContext to user: {}", auth.getPrincipal().toString());
  chain.doFilter(request, response);
}
 
開發者ID:spinnaker,項目名稱:fiat,代碼行數:20,代碼來源:FiatAuthenticationFilter.java

示例8: authenticateUserPreAuthenticated

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Override
public PreAuthenticatedAuthenticationToken authenticateUserPreAuthenticated(ConnectionEnvironment connEnv,
		String enteredUsername) {
	
	MidPointPrincipal principal = getAndCheckPrincipal(connEnv, enteredUsername, true);
	
	// Authorizations
	if (!hasAnyAuthorization(principal)) {
		recordAuthenticationFailure(principal, connEnv, "no authorizations");
		throw new AccessDeniedException("web.security.provider.access.denied");
	}
	
	PreAuthenticatedAuthenticationToken token = new PreAuthenticatedAuthenticationToken(principal, null, principal.getAuthorities());
	
	recordAuthenticationSuccess(principal, connEnv);
	
	return token;
}
 
開發者ID:Pardus-Engerek,項目名稱:engerek,代碼行數:19,代碼來源:AuthenticationEvaluatorImpl.java

示例9: authenticate

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
	
	String enteredUsername = (String) authentication.getPrincipal();
	LOGGER.trace("Authenticating username '{}'", enteredUsername);
	
	ConnectionEnvironment connEnv = ConnectionEnvironment.create(SchemaConstants.CHANNEL_GUI_USER_URI);
	
	Authentication token;
	if (authentication instanceof UsernamePasswordAuthenticationToken) {
		String enteredPassword = (String) authentication.getCredentials();
		token = passwordAuthenticationEvaluator.authenticate(connEnv, new PasswordAuthenticationContext(enteredUsername, enteredPassword));
	} else if (authentication instanceof PreAuthenticatedAuthenticationToken) {
		token = passwordAuthenticationEvaluator.authenticateUserPreAuthenticated(connEnv, enteredUsername);
	} else {
		LOGGER.error("Unsupported authentication {}", authentication);
		throw new AuthenticationServiceException("web.security.provider.unavailable");
	}

	MidPointPrincipal principal = (MidPointPrincipal)token.getPrincipal();
	
	LOGGER.debug("User '{}' authenticated ({}), authorities: {}", authentication.getPrincipal(),
			authentication.getClass().getSimpleName(), principal.getAuthorities());
	return token;
}
 
開發者ID:Pardus-Engerek,項目名稱:engerek,代碼行數:26,代碼來源:MidPointAuthenticationProvider.java

示例10: isUserSync

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
public static boolean isUserSync(String userSyncMRN, String userSyncO, String userSyncOU, String userSyncC) {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    if (auth instanceof PreAuthenticatedAuthenticationToken) {
        log.debug("Certificate authentication of user sync'er in process");
        // Certificate authentication
        PreAuthenticatedAuthenticationToken token = (PreAuthenticatedAuthenticationToken) auth;
        // Check that the Organization name of the accessed organization and the organization in the certificate is equal
        InetOrgPerson person = ((InetOrgPerson) token.getPrincipal());
        if (userSyncMRN.equalsIgnoreCase(person.getUid()) && userSyncO.equalsIgnoreCase(person.getO())
                // Hack alert! There is no country property in this type, so we misuse PostalAddress...
                && userSyncOU.equals(person.getOu()) && userSyncC.equals(person.getPostalAddress())) {
            log.debug("User sync'er accepted!");
            return true;
        }
        log.debug("This was not the user-sync'er! " + userSyncMRN + "~" + person.getUid() + ", " + userSyncO + "~"
                + person.getO() + ", " + userSyncOU + "~" + person.getOu() + ", " + userSyncC + "~" + person.getPostalAddress());
    }
    return false;
}
 
開發者ID:MaritimeConnectivityPlatform,項目名稱:IdentityRegistry,代碼行數:20,代碼來源:AccessControlUtil.java

示例11: doFilter

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    final HttpServletRequest httpRequest = (HttpServletRequest) request;
    final String header = httpRequest.getHeader("Authorization");
    final SecurityContext context = SecurityContextHolder.getContext();
    if (header != null && context.getAuthentication() == null) {
        final String tokenStr = header.substring("Bearer ".length());
        final JwtToken token = jwtTokenCodec.decodeToken(tokenStr);
        if (!token.isExpired()) {
            final PreAuthenticatedAuthenticationToken authentication = new PreAuthenticatedAuthenticationToken(token, "n/a", token.getRoles().stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList()));
            authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpRequest));
            context.setAuthentication(authentication);
        }
    }
    chain.doFilter(request, response);
}
 
開發者ID:nidi3,項目名稱:jwt-with-spring,代碼行數:17,代碼來源:JwtAuthenticationTokenFilter.java

示例12: authenticateUser

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
/**
 * Creates the user based on the given request, and puts the user into the security context. Throws if authentication fails.
 *
 * @param servletRequest {@link HttpServletRequest} containing the user's request.
 */
private void authenticateUser(HttpServletRequest servletRequest)
{
    try
    {
        // Setup the authentication request and perform the authentication. Perform the authentication based on the fully built user.
        PreAuthenticatedAuthenticationToken preAuthenticatedAuthenticationToken =
            new PreAuthenticatedAuthenticationToken(applicationUserBuilder.build(servletRequest), "N/A");
        preAuthenticatedAuthenticationToken.setDetails(authenticationDetailsSource.buildDetails(servletRequest));
        Authentication authentication = authenticationManager.authenticate(preAuthenticatedAuthenticationToken);

        // The authentication returned so it was successful.
        successfulAuthentication(authentication);
    }
    catch (AuthenticationException e)
    {
        // An authentication exception was thrown so authentication failed.
        unsuccessfulAuthentication(servletRequest, e);

        // Throw an exception so we don't continue since there is some problem (e.g. user profile doesn't
        // exist for the logged in user or it couldn't be retrieved).
        throw e;
    }
}
 
開發者ID:FINRAOS,項目名稱:herd,代碼行數:29,代碼來源:HttpHeaderAuthenticationFilter.java

示例13: doHttpFilter

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
/**
 * doFilter implementation for an HTTP request and response.
 *
 * @param request the HTTP servlet request.
 * @param response the HTTP servlet response.
 * @param chain the filter chain.
 *
 * @throws IOException if an I/O error occurs.
 * @throws ServletException if a servlet error occurs.
 */
public void doHttpFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException
{
    // Check if security is enabled
    // If security is not enabled, perform allow as trusted user.
    if (!securityHelper.isSecurityEnabled(request))
    {
        // If authentication is not there or is not of trusted user type.
        PreAuthenticatedAuthenticationToken authRequest = new PreAuthenticatedAuthenticationToken(applicationUserBuilder.build(request), "N/A");
        authRequest.setDetails(authenticationDetailsSource.buildDetails(request));
        Authentication authResult = authenticationManager.authenticate(authRequest);

        // The authentication returned so it was successful.
        SecurityContextHolder.getContext().setAuthentication(authResult);
    }

    chain.doFilter(request, response);
}
 
開發者ID:FINRAOS,項目名稱:herd,代碼行數:28,代碼來源:TrustedUserAuthenticationFilter.java

示例14: principalAndCredentialsNotTheSameThrowsAuthenticationException

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Test
@Description("Testing in case the containing controllerId in the URI request path does not accord with the controllerId in the request header.")
public void principalAndCredentialsNotTheSameThrowsAuthenticationException() {
    final String principal = "controllerIdURL";
    final String credentials = "controllerIdHeader";
    final PreAuthenticatedAuthenticationToken token = new PreAuthenticatedAuthenticationToken(principal,
            Arrays.asList(credentials));
    token.setDetails(webAuthenticationDetailsMock);

    // test, should throw authentication exception
    try {
        underTestWithoutSourceIpCheck.authenticate(token);
        fail("Should not work with wrong credentials");
    } catch (final BadCredentialsException e) {

    }

}
 
開發者ID:eclipse,項目名稱:hawkbit,代碼行數:19,代碼來源:PreAuthTokenSourceTrustAuthenticationProviderTest.java

示例15: priniciapAndCredentialsAreTheSameButSourceIpRequestNotMatching

import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; //導入依賴的package包/類
@Test
@Description("Testing that the controllerId in the URI request match with the controllerId in the request header but the request are not coming from a trustful source.")
public void priniciapAndCredentialsAreTheSameButSourceIpRequestNotMatching() {
    final String remoteAddress = "192.168.1.1";
    final String principal = "controllerId";
    final String credentials = "controllerId";
    final PreAuthenticatedAuthenticationToken token = new PreAuthenticatedAuthenticationToken(principal,
            Arrays.asList(credentials));
    token.setDetails(webAuthenticationDetailsMock);

    when(webAuthenticationDetailsMock.getRemoteAddress()).thenReturn(remoteAddress);

    // test, should throw authentication exception

    try {
        underTestWithSourceIpCheck.authenticate(token);
        fail("as source is not trusted.");
    } catch (final InsufficientAuthenticationException e) {

    }
}
 
開發者ID:eclipse,項目名稱:hawkbit,代碼行數:22,代碼來源:PreAuthTokenSourceTrustAuthenticationProviderTest.java


注:本文中的org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。