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


Java Authentication類代碼示例

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


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

示例1: createAcl

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@Override
public MutableAcl createAcl(ObjectIdentity objectIdentity) throws AlreadyExistsException {
    Assert.notNull(objectIdentity, "Object Identity required");

    // Check this object identity hasn't already been persisted
    if (retrieveObjectIdentityPrimaryKey(objectIdentity) != null) {
        throw new AlreadyExistsException("Object identity '" + objectIdentity + "' already exists");
    }

    // Need to retrieve the current principal, in order to know who "owns" this ACL (can be changed later on)
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    PrincipalSid sid = new PrincipalSid(auth);

    // Create the acl_object_identity row
    createObjectIdentity(objectIdentity, sid);

    // Retrieve the ACL via superclass (ensures cache registration, proper retrieval etc)
    Acl acl = readAclById(objectIdentity);
    Assert.isInstanceOf(MutableAcl.class, acl, "MutableAcl should be been returned");

    return (MutableAcl) acl;
}
 
開發者ID:PacktPublishing,項目名稱:Spring-Security-Third-Edition,代碼行數:23,代碼來源:JpaMutableAclService.java

示例2: auth

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@RequestMapping(value = "auth", method = RequestMethod.POST)
public ResponseEntity<?> auth(@RequestBody AuthRequest ar) {
	
	final Authentication authentication = authenticationManager.authenticate(
		new UsernamePasswordAuthenticationToken(ar.getUsername(), ar.getPassword())
	);
	SecurityContextHolder.getContext().setAuthentication(authentication);
	
	User u = userRepository.findByUsername(ar.getUsername());
	if (u != null) {
		String token = jwtTokenUtil.generateToken(u);
		return ResponseEntity.ok(new AuthResponse(token));
	} else {
		return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
	}
}
 
開發者ID:ard333,項目名稱:spring-boot-jjwt,代碼行數:17,代碼來源:AuthenticationREST.java

示例3: authorize

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@PostMapping("/authenticate")
@Timed
public ResponseEntity<?> authorize(@Valid @RequestBody LoginDTO loginDTO, HttpServletResponse response) {

    UsernamePasswordAuthenticationToken authenticationToken =
        new UsernamePasswordAuthenticationToken(loginDTO.getUsername(), loginDTO.getPassword());

    try {
        Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
        SecurityContextHolder.getContext().setAuthentication(authentication);
        boolean rememberMe = (loginDTO.isRememberMe() == null) ? false : loginDTO.isRememberMe();
        String jwt = tokenProvider.createToken(authentication, rememberMe);
        response.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
        return ResponseEntity.ok(new JWTToken(jwt));
    } catch (AuthenticationException exception) {
        return new ResponseEntity<>(Collections.singletonMap("AuthenticationException",exception.getLocalizedMessage()), HttpStatus.UNAUTHORIZED);
    }
}
 
開發者ID:IBM,項目名稱:Microservices-with-JHipster-and-Spring-Boot,代碼行數:19,代碼來源:UserJWTController.java

示例4: doFilter

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
    throws IOException, ServletException {
    try {
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        String jwt = resolveToken(httpServletRequest);
        if (StringUtils.hasText(jwt)) {
            if (this.tokenProvider.validateToken(jwt)) {
                Authentication authentication = this.tokenProvider.getAuthentication(jwt);
                SecurityContextHolder.getContext().setAuthentication(authentication);
            }
        }
        filterChain.doFilter(servletRequest, servletResponse);
    } catch (ExpiredJwtException eje) {
        log.info("Security exception for user {} - {}", eje.getClaims().getSubject(), eje.getMessage());
        ((HttpServletResponse) servletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
    }
}
 
開發者ID:klask-io,項目名稱:klask-io,代碼行數:19,代碼來源:JWTFilter.java

示例5: authenticate

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
    UsernamePasswordAuthenticationToken token = (UsernamePasswordAuthenticationToken) authentication;
    String email = token.getName();
    CalendarUser user = email == null ? null : calendarService.findUserByEmail(email);
    if(user == null) {
        throw new UsernameNotFoundException("Invalid username/password");
    }
    // Database Password already encrypted:
    String password = user.getPassword();

    boolean passwordsMatch = passwordEncoder.matches(token.getCredentials().toString(), password);

    if(!passwordsMatch) {
        throw new BadCredentialsException("Invalid username/password");
    }
    Collection<? extends GrantedAuthority> authorities = CalendarUserAuthorityUtils.createAuthorities(user);
    UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken(user, password, authorities);
    return usernamePasswordAuthenticationToken;
}
 
開發者ID:PacktPublishing,項目名稱:Spring-Security-Third-Edition,代碼行數:21,代碼來源:CalendarUserAuthenticationProvider.java

示例6: doFilterInternal

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@Override
protected void doFilterInternal(
        HttpServletRequest request,
        HttpServletResponse response,
        FilterChain chain) throws ServletException, IOException {
    String username = jwtTokenUtil.getUsername(request);
    System.out.println("checking authentication " + username);

    if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) {
        if (jwtTokenUtil.validate(request)) {
            Authentication authentication = jwtTokenUtil.
                    getAuthentication(request);
            System.out.println("authenticated user " + username + ", setting security context");
            SecurityContextHolder.getContext().setAuthentication(authentication);

            KeyUserInfo keyUserInfo = userRepository.findByEmail(username).get(0);
            System.out.println(keyUserInfo.getId());
            ZuulFilterConfig.setUid(keyUserInfo.getId());
        }
    }
    chain.doFilter(request, response);
}
 
開發者ID:Clcanny,項目名稱:MicroServiceDemo,代碼行數:23,代碼來源:JwtAuthenticationFilter.java

示例7: createAuthenticationToken

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@RequestMapping(value = "${jwt.route.authentication.path}", method = RequestMethod.POST)
public ResponseEntity<?> createAuthenticationToken(@RequestBody JwtAuthenticationRequest authenticationRequest, Device device)
        throws AuthenticationException {

    // Perform the security
    final Authentication authentication = authenticationManager.authenticate(
            new UsernamePasswordAuthenticationToken(
                    authenticationRequest.getUsername(),
                    authenticationRequest.getPassword()
            )
    );
    SecurityContextHolder.getContext().setAuthentication(authentication);

    // Reload password post-security so we can generate token
    final UserDetails userDetails = userDetailsService.loadUserByUsername(authenticationRequest.getUsername());
    final String token = jwtTokenUtil.generateToken(userDetails, device);

    // Return the token
    return ResponseEntity.ok(new JwtAuthenticationResponse(token));
}
 
開發者ID:rodrigues882013,項目名稱:springboot-rest-api-skeleton,代碼行數:21,代碼來源:AuthController.java

示例8: onLoginSuccess

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@Override
protected void onLoginSuccess(HttpServletRequest request, HttpServletResponse response, Authentication
    successfulAuthentication) {

    String login = successfulAuthentication.getName();

    log.debug("Creating new persistent login for user {}", login);
    PersistentToken token = userRepository.findOneByLogin(login).map(u -> {
        PersistentToken t = new PersistentToken();
        t.setSeries(RandomUtil.generateSeriesData());
        t.setUser(u);
        t.setTokenValue(RandomUtil.generateTokenData());
        t.setTokenDate(LocalDate.now());
        t.setIpAddress(request.getRemoteAddr());
        t.setUserAgent(request.getHeader("User-Agent"));
        return t;
    }).orElseThrow(() -> new UsernameNotFoundException("User " + login + " was not found in the database"));
    try {
        persistentTokenRepository.saveAndFlush(token);
        addCookie(token, request, response);
    } catch (DataAccessException e) {
        log.error("Failed to save persistent token ", e);
    }
}
 
開發者ID:michaelhoffmantech,項目名稱:patient-portal,代碼行數:25,代碼來源:PersistentTokenRememberMeServices.java

示例9: getCurrentUser

import org.springframework.security.core.Authentication; //導入依賴的package包/類
/**
 * Get the {@link CalendarUser} by obtaining the currently logged in Spring Security user's
 * {@link Authentication#getName()} and using that to find the {@link CalendarUser} by email address (since for our
 * application Spring Security usernames are email addresses).
 */
@Override
public CalendarUser getCurrentUser() {
    SecurityContext context = SecurityContextHolder.getContext();
    Authentication authentication = context.getAuthentication();
    if (authentication == null) {
        return null;
    }

    CalendarUser user = (CalendarUser) authentication.getPrincipal();
    String email = user.getEmail();
    if (email == null) {
        return null;
    }
    CalendarUser result = calendarService.findUserByEmail(email);
    if (result == null) {
        throw new IllegalStateException(
                "Spring Security is not in synch with CalendarUsers. Could not find user with email " + email);
    }

    logger.info("CalendarUser: {}", result);
    return result;
}
 
開發者ID:PacktPublishing,項目名稱:Spring-Security-Third-Edition,代碼行數:28,代碼來源:SpringSecurityUserContext.java

示例10: createJwtToken

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@Override
public String createJwtToken(Authentication authentication, int minutes) {
  Claims claims = Jwts.claims()
      .setId(String.valueOf(IdentityGenerator.generate()))
      .setSubject(authentication.getName())
      .setExpiration(new Date(currentTimeMillis() + minutes * 60 * 1000))
      .setIssuedAt(new Date());

  String authorities = authentication.getAuthorities()
      .stream()
      .map(GrantedAuthority::getAuthority)
      .map(String::toUpperCase)
      .collect(Collectors.joining(","));

  claims.put(AUTHORITIES, authorities);

  return Jwts.builder()
      .setClaims(claims)
      .signWith(HS512, secretkey)
      .compact();
}
 
開發者ID:springuni,項目名稱:springuni-particles,代碼行數:22,代碼來源:JwtTokenServiceImpl.java

示例11: createToken

import org.springframework.security.core.Authentication; //導入依賴的package包/類
public String createToken(Authentication authentication, Boolean rememberMe) {
    String authorities = authentication.getAuthorities().stream()
        .map(GrantedAuthority::getAuthority)
        .collect(Collectors.joining(","));

    long now = (new Date()).getTime();
    Date validity;
    if (rememberMe) {
        validity = new Date(now + this.tokenValidityInMillisecondsForRememberMe);
    } else {
        validity = new Date(now + this.tokenValidityInMilliseconds);
    }

    return Jwts.builder()
        .setSubject(authentication.getName())
        .claim(AUTHORITIES_KEY, authorities)
        .signWith(SignatureAlgorithm.HS512, secretKey)
        .setExpiration(validity)
        .compact();
}
 
開發者ID:deepu105,項目名稱:spring-io,代碼行數:21,代碼來源:TokenProvider.java

示例12: onLogoutSuccess

import org.springframework.security.core.Authentication; //導入依賴的package包/類
public void onLogoutSuccess(HttpServletRequest request,
        HttpServletResponse response, Authentication authentication)
        throws IOException, ServletException {
    super.handle(request, response, authentication);

    if (authentication == null) {
        logger.info("authentication is null");

        return;
    }

    String tenantId = tenantHolder.getTenantId();

    String userId = this.getUserId(authentication);
    String sessionId = this.getSessionId(authentication);
    LogoutEvent logoutEvent = new LogoutEvent(authentication, userId,
            sessionId, tenantId);
    ctx.publishEvent(logoutEvent);
}
 
開發者ID:zhaojunfei,項目名稱:lemon,代碼行數:20,代碼來源:LogoutSuccessHandlerImpl.java

示例13: authenticate

import org.springframework.security.core.Authentication; //導入依賴的package包/類
public Authentication authenticate(final Authentication authentication) throws AuthenticationException {

        if (!supports(authentication.getClass())) {
            return null;
        }

        UaaRelyingPartyToken auth = (UaaRelyingPartyToken) authentication;
        Map<String, Object> tokenObj = UaaFilterUtils.verifiedToken(auth.getToken(), publicKey);

        UaaUserDetails userDetails = new UaaUserDetails();
        userDetails.setUsername(tokenObj.get(Properties.USER_NAME).toString());
        userDetails.setGrantedAuthorities(scopeToGrantedAuthority((List<String>) tokenObj.get(Properties.SCOPE)));

        if (!userDetails.isEnabled()) {
            throw new AuthenticationServiceException("User is disabled");
        }

        return createSuccessfulAuthentication(userDetails);
    }
 
開發者ID:evoila,項目名稱:cfsummiteu2017,代碼行數:20,代碼來源:UaaRelyingPartyAuthenticationProvider.java

示例14: getCurrentUser

import org.springframework.security.core.Authentication; //導入依賴的package包/類
/**
 * Get the {@link CalendarUser} by obtaining the currently logged in Spring Security user's
 * {@link Authentication#getName()} and using that to find the {@link CalendarUser} by email address (since for our
 * application Spring Security usernames are email addresses).
 */
@Override
public CalendarUser getCurrentUser() {
    SecurityContext context = SecurityContextHolder.getContext();
    Authentication authentication = context.getAuthentication();
    if (authentication == null) {
        return null;
    }
    CalendarUser user = (CalendarUser) authentication.getPrincipal();
    String email = user.getEmail();        if (email == null) {
        return null;
    }
    CalendarUser result = calendarService.findUserByEmail(email);
    if (result == null) {
        throw new IllegalStateException(
                "Spring Security is not in synch with CalendarUsers. Could not find user with email " + email);
    }

    logger.info("CalendarUser: {}", result);
    return result;
}
 
開發者ID:PacktPublishing,項目名稱:Spring-Security-Third-Edition,代碼行數:26,代碼來源:SpringSecurityUserContext.java

示例15: actionEtat

import org.springframework.security.core.Authentication; //導入依賴的package包/類
@PreAuthorize("hasRole('ROLE_MANAGER')")
@RequestMapping(value="/action/{cardId}", method=RequestMethod.POST)
@Transactional
public String actionEtat(@PathVariable("cardId") Long cardId, @RequestParam Etat etatFinal, @RequestParam(required=false) String comment, Model uiModel) {
	Card card = Card.findCard(cardId);
	Authentication auth = SecurityContextHolder.getContext().getAuthentication();
	String eppn = auth.getName();

	if(Etat.IN_PRINT.equals(etatFinal) && (Etat.REQUEST_CHECKED.equals(card.getEtat()) || eppn.equals(card.getEtatEppn()))) {
		if(cardEtatService.setCardEtat(card, etatFinal, comment, comment, true, false)) {
			uiModel.addAttribute("cards", Arrays.asList(new Card[]{card}));
		}
        uiModel.addAttribute("cardMask",  appliConfigService.getCardMask());
        uiModel.addAttribute("cardLogo",  appliConfigService.getCardLogo());
		return "manager/print-card";
	} else {
		uiModel.asMap().clear();
		cardEtatService.setCardEtat(card, etatFinal, comment, comment, true, false);			
		return "redirect:/manager/" + card.getId();
	}
}
 
開發者ID:EsupPortail,項目名稱:esup-sgc,代碼行數:22,代碼來源:ManagerCardController.java


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