Java 类org.springframework.security.core.context.SecurityContextHolder 实例源码

项目:devoxxus-jhipster-microservices-demo    文件:UserJWTController.java   
@PostMapping("/authenticate")
@Timed
public ResponseEntity authorize(@Valid @RequestBody LoginVM loginVM, HttpServletResponse response) {

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

    try {
        Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
        SecurityContextHolder.getContext().setAuthentication(authentication);
        boolean rememberMe = (loginVM.isRememberMe() == null) ? false : loginVM.isRememberMe();
        String jwt = tokenProvider.createToken(authentication, rememberMe);
        response.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
        return ResponseEntity.ok(new JWTToken(jwt));
    } catch (AuthenticationException ae) {
        log.trace("Authentication exception trace: {}", ae);
        return new ResponseEntity<>(Collections.singletonMap("AuthenticationException",
            ae.getLocalizedMessage()), HttpStatus.UNAUTHORIZED);
    }
}
项目:dhus-core    文件:TestCacheProductService.java   
private void authenticate ()
{
   String name = "userTest";
   Set<GrantedAuthority> roles = new HashSet<> ();
   roles.add (new SimpleGrantedAuthority (Role.DOWNLOAD.getAuthority ()));
   roles.add (new SimpleGrantedAuthority (Role.SEARCH.getAuthority ()));
   roles.add (
         new SimpleGrantedAuthority (Role.DATA_MANAGER.getAuthority ()));

   SandBoxUser user = new SandBoxUser (name, name, true, 0, roles);
   Authentication auth = new UsernamePasswordAuthenticationToken (
         user, user.getPassword (), roles);
   SecurityContextHolder.getContext ().setAuthentication (auth);

   logger.info ("userTest roles: " + auth.getAuthorities ());
}
项目:Spring-5.0-Cookbook    文件:EmployeeServiceImpl.java   
@Override
public Mono<Double> getAveAge() {
    ToIntFunction<Employee> sizeEmpArr = (e) -> {
        System.out.println("flux:toIntFunction task executor: " + Thread.currentThread().getName());
        System.out.println("flux:toIntFunction task executor login: " + SecurityContextHolder.getContext().getAuthentication().getPrincipal());
        return e.getAge();
    };
    Callable<Double> task = () ->{
        System.out.println("flux:callable task executor: " + Thread.currentThread().getName());
        System.out.println("flux:callable task executor login: " + SecurityContextHolder.getContext().getAuthentication().getPrincipal());
        return employeeDaoImpl.getEmployees().stream()
        .mapToInt(sizeEmpArr)
        .average()
        .getAsDouble();
    };

    Mono<Double> aveAge= Mono.fromCallable(task);
    return aveAge;
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
 * 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;
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
 * 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;
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
     * 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;
        }

        User user = (User)authentication.getPrincipal();
        String email = user.getUsername();
//        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);
        }
        return result;
    }
项目:Towan    文件:ForumController.java   
@RequestMapping(value = "/addEntry", method = RequestMethod.POST)
public String addEntry(@Valid @ModelAttribute EntryModel newEntryModel, BindingResult bindingResult,
        Model model) {
    if (bindingResult.hasErrors()) {
        String errorMessage = "";
        for (FieldError fieldError : bindingResult.getFieldErrors()) {
            errorMessage += fieldError.getField() + " is invalid<br>";
        }
        model.addAttribute("errorMessage", errorMessage);
        return "forward:/entry";
    }

    //if (newEntryModel != null) {
        //model.addAttribute("errorMessage", "Entry already exists!<br>");
    //} else {
    newEntryModel.setDate(new Timestamp(System.currentTimeMillis()));
    UserModel user = null;
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    List<UserModel> userList = userRepository.findByUsername(auth.getName());
    user = userList.get(0);
    newEntryModel.setUser(user);
    newEntryModel.setSubforum(null);
    entryRepository.save(newEntryModel);

    return "forum/entry";
}
项目:ponto-inteligente-api    文件:AuthenticationController.java   
/**
 * Gera e retorna um novo token JWT.
 * 
 * @param authenticationDto
 * @param result
 * @return ResponseEntity<Response<TokenDto>>
 * @throws AuthenticationException
 */
@PostMapping
public ResponseEntity<Response<TokenDto>> gerarTokenJwt(
        @Valid @RequestBody JwtAuthenticationDto authenticationDto, BindingResult result)
        throws AuthenticationException {
    Response<TokenDto> response = new Response<TokenDto>();

    if (result.hasErrors()) {
        log.error("Erro validando lançamento: {}", result.getAllErrors());
        result.getAllErrors().forEach(error -> response.getErrors().add(error.getDefaultMessage()));
        return ResponseEntity.badRequest().body(response);
    }

    log.info("Gerando token para o email {}.", authenticationDto.getEmail());
    Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(
            authenticationDto.getEmail(), authenticationDto.getSenha()));
    SecurityContextHolder.getContext().setAuthentication(authentication);

    UserDetails userDetails = userDetailsService.loadUserByUsername(authenticationDto.getEmail());
    String token = jwtTokenUtil.obterToken(userDetails);
    response.setData(new TokenDto(token));

    return ResponseEntity.ok(response);
}
项目:chvote-protocol-poc    文件:JwtAuthenticationTokenFilter.java   
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

    HttpServletRequest httpRequest = (HttpServletRequest) request;
    String authToken = httpRequest.getHeader(this.tokenHeader);
    String username = jwtTokenUtil.getUsernameFromToken(authToken);

    if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) {
        UserDetails userDetails = this.userDetailsService.loadUserByUsername(username);
        if (jwtTokenUtil.validateToken(authToken, userDetails)) {
            UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
            authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpRequest));
            SecurityContextHolder.getContext().setAuthentication(authentication);
        }
    }

    chain.doFilter(request, response);
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
 * 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;
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
 * 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;
}
项目:spring-cloud-dashboard    文件:LoginController.java   
@RequestMapping(value = "/authenticate", method = { RequestMethod.POST })
@ResponseBody
public String authorize(
        @RequestBody AuthenticationRequest authenticationRequest,
        HttpServletRequest request) {

    final UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
            authenticationRequest.getUsername(), authenticationRequest.getPassword());
    final Authentication authentication = this.authenticationManager.authenticate(token);
    SecurityContextHolder.getContext().setAuthentication(authentication);
    final HttpSession session = request.getSession(true);
    session.setAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY,
            SecurityContextHolder.getContext());

    return session.getId();
}
项目:Microservices-with-JHipster-and-Spring-Boot    文件:UserJWTController.java   
@PostMapping("/authenticate")
@Timed
public ResponseEntity authorize(@Valid @RequestBody LoginVM loginVM, HttpServletResponse response) {

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

    try {
        Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
        SecurityContextHolder.getContext().setAuthentication(authentication);
        boolean rememberMe = (loginVM.isRememberMe() == null) ? false : loginVM.isRememberMe();
        String jwt = tokenProvider.createToken(authentication, rememberMe);
        response.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
        return ResponseEntity.ok(new JWTToken(jwt));
    } catch (AuthenticationException ae) {
        log.trace("Authentication exception trace: {}", ae);
        return new ResponseEntity<>(Collections.singletonMap("AuthenticationException",
            ae.getLocalizedMessage()), HttpStatus.UNAUTHORIZED);
    }
}
项目:esup-sgc    文件:UserCardController.java   
@RequestMapping(method = RequestMethod.GET, value = "/payboxOk")
public String getPaybox(@RequestParam String montant, @RequestParam String reference, @RequestParam(required = false) String auto, @RequestParam String erreur, 
        @RequestParam String idtrans, @RequestParam String signature, HttpServletRequest request, final RedirectAttributes redirectAttributes) {
    String ip = request.getRemoteAddr();
    String queryString = request.getQueryString();
    if (payBoxService.payboxCallback(montant, reference, auto, erreur, idtrans, signature, queryString, ip)) {
            String eppn = SecurityContextHolder.getContext().getAuthentication().getName();
            User user = User.findUser(eppn);
            try {
                cardService.sendMailCard(appliConfigService.getNoReplyMsg(),user.getEmail() ,appliConfigService.getListePpale(), 
                        appliConfigService.getSubjectAutoCard().concat(" -- ".concat(user.getEppn())), appliConfigService.getPayboxMessage());
            } catch (Exception e) {
                    log.error("Erreur lors de l'envoi du mail pour la carte de :" + user.getEppn(), e);
            }
        redirectAttributes.addFlashAttribute("messageSuccess", SUCCESS_MSG + "paybox");
    } 
    return "redirect:/user";
}
项目:Spring-5.0-Cookbook    文件:EmployeeServiceImpl.java   
@Async
@Override
public CompletableFuture<List<Employee>> readEmployees() {

      Supplier<List<Employee>> supplyListEmp = ()->{
        System.out.println("service:readEmployees task executor: " + Thread.currentThread().getName());
        System.out.println("processing for 5000 ms");

        try {
            System.out.println("readEmployees Callable login: " + SecurityContextHolder.getContext().getAuthentication().getPrincipal());
            Thread.sleep(6000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return employeeDaoImpl.getEmployees();
    };

    return CompletableFuture.supplyAsync(supplyListEmp);
}
项目:esup-sgc    文件:UserCardController.java   
@RequestMapping(value="/card-request-form")
public String viewCardRequestForm(Model uiModel, HttpServletRequest request, @RequestHeader("User-Agent") String userAgent) {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    String eppn = auth.getName();
    User user = User.findUser(eppn);
    uiModel.addAttribute("user", user);
    Long id = Long.valueOf("-1");
    if(!user.getCards().isEmpty()){
        id = user.getCards().get(0).getId();
    }
    uiModel.addAttribute("configUserMsgs", getConfigMsgsUser());
    uiModel.addAttribute("lastId", id);
    uiModel.addAttribute("isEsupSgcUser", userService.isEsupSgcUser(eppn));
    uiModel.addAttribute("cardMask",  appliConfigService.getCardMask());
    uiModel.addAttribute("cardLogo",  appliConfigService.getCardLogo());
    uiModel.addAttribute("isISmartPhone",  userService.isISmartphone(userAgent));
    Map<String, Boolean> displayFormParts = displayFormParts(eppn, user.getUserType());
    log.debug("displayFormParts for " + eppn + " : " + displayFormParts);
    uiModel.addAttribute("displayFormParts", displayFormParts);
    return "user/card-request";
}
项目:KPBlog    文件:ArticleController.java   
@GetMapping("/article/{id}")
public String details(Model model, @PathVariable Integer id) {
    if (!this.articleRepository.exists(id)) {
        return "redirect:/";
    }

    if (!(SecurityContextHolder.getContext().getAuthentication()
        instanceof AnonymousAuthenticationToken)) {
        UserDetails user = (UserDetails) SecurityContextHolder
                .getContext()
                .getAuthentication()
                .getPrincipal();

        User userEntity = this.userRepository.findByEmail(user.getUsername());
        model.addAttribute("user", userEntity);
    }
    Article article = this.articleRepository.findOne(id);

    model.addAttribute("article", article);
    model.addAttribute("view", "article/details");
    return "base-layout";
}
项目:yadaframework    文件:YadaSecurityUtil.java   
public Set<String> getCurrentRoles() {
    Set<String> roles = new HashSet<String>();
    try {
        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        if (auth!=null && auth.isAuthenticated()) {
            Object principal = auth.getPrincipal();
            if (principal instanceof UserDetails) {
                for (GrantedAuthority ga : ((UserDetails)principal).getAuthorities()) {
                    roles.add(ga.getAuthority());
                }
            }
        }
    } catch (Exception e) {
        log.error("Can't get roles", e);
    }
    return roles;
}
项目:springuni-particles    文件:JwtAuthenticationFilter.java   
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
    FilterChain filterChain) throws ServletException, IOException {

  Authentication authentication = getAuthentication(request);
  if (authentication == null) {
    SecurityContextHolder.clearContext();
    filterChain.doFilter(request, response);
    return;
  }

  try {
    SecurityContextHolder.getContext().setAuthentication(authentication);
    filterChain.doFilter(request, response);
  } finally {
    SecurityContextHolder.clearContext();
  }
}
项目:rest-api-jwt-spring-security    文件:AuthenticationRestController.java   
@RequestMapping(value = "/api/${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 = "Bearer "+jwtTokenUtil.generateToken(userDetails, device);

    // Return the token
    return ResponseEntity.ok(new JwtAuthenticationResponse(token));
}
项目:plugin-redirect    文件:RedirectResourceTest.java   
@Test
public void handleRedirectAnonymousCookieNotMatch() throws URISyntaxException {
    SecurityContextHolder.clearContext();

    final SystemUserSetting setting = new SystemUserSetting();
    setting.setLogin(DEFAULT_USER);
    setting.setName(RedirectResource.PREFERRED_HASH);
    setting.setValue("-");
    userSettingRepository.save(setting);
    em.flush();
    em.clear();

    final Response response = resource.handleRedirect(DEFAULT_USER + "|hash");
    Assert.assertNull(response.getCookies().get(RedirectResource.PREFERRED_COOKIE_HASH));
    Assert.assertEquals("http://localhost:8081/external", response.getHeaderString("location"));
}
项目:esup-sgc    文件:UserCardController.java   
@RequestMapping(value="/enable", method = RequestMethod.POST)
public String enableCard(@RequestParam("id") Long id, Model uiModel, final RedirectAttributes redirectAttributes) {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    String eppn = auth.getName();
    Card card = Card.findCard(id);
    if(card != null && card.getEppn().equals(eppn)){
        try {
            cardEtatService.setCardEtat(card, Etat.ENABLED, "Réactivation de la carte par l'utilisateur", null, false, false);
            redirectAttributes.addFlashAttribute("messageInfo", SUCCESS_MSG + "enable");
        } catch (Exception e) {
            log.error("problème lors de la réactivation de la carte de " + eppn, e);
            redirectAttributes.addFlashAttribute("messageError", ERROR_MSG + "enable");
        }
    } else{
        log.info("Aucune carte valide trouvée pour activation");
        redirectAttributes.addFlashAttribute("messageInfo", WARNING_MSG + "enable");
    }

    return "redirect:/user";
}
项目:springboot-rest-api-skeleton    文件:AuthController.java   
@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));
}
项目:yum    文件:SettingsService.java   
@PreAuthorize("hasAuthority('hungry')")
public User settingsGet() throws ApiException {
    User userDTO = new User();
    com.jrtechnologies.yum.data.entity.User userDAO = userRepo.findById((Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal());

    userDTO.setId(userDAO.getId());
    userDTO.setFirstName(userDAO.getFirstName());
    userDTO.setLastName(userDAO.getLastName());
    userDTO.setEmail(userDAO.getEmail());
    userDTO.setApproved(userDAO.isApproved());
    LastEdit lastEdit = new LastEdit();
    lastEdit.setTimeStamp(userDAO.getLastEdit());
    lastEdit.setVersion(userDAO.getVersion());
    userDTO.setLastEdit(lastEdit);
    userDTO.setRegistrationDate(userDAO.getRegistrationDate());
    userDTO.setRole(userDAO.getUserRole().toString());
    userDTO.setHasPicture(userDAO.hasPicture());
    userDTO.setBalance(userDAO.getBalance());
    userDTO.setOrderNtf(userDAO.isOrderNtf());
    userDTO.setOrderModifyNtf(userDAO.isOrderModifyNtf());
    userDTO.setAdminOrderNtf(userDAO.isAdminOrderNtf());
    userDTO.setAdminOrderModifyNtf(userDAO.isAdminOrderModifyNtf());
    userDTO.setBalanceNtf(userDAO.isBalanceNtf());

    return userDTO;
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
 * 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;
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
 * 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;
}
项目:esup-sgc    文件:CardEtatService.java   
public void updateEtatsAvailable4Card(Card card) {
    String eppn = "system";
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    if(auth != null) {
        eppn = auth.getName();
    }
    card.setEtatsAvailable(workflow.get(card.getEtat()));
    if(Etat.IN_PRINT.equals(card.getEtat()) || Etat.IN_ENCODE.equals(card.getEtat())) {
        if(!eppn.equals(card.getEtatEppn())) {
            card.setEtatsAvailable(new ArrayList<Etat>());
        }
    }
    if(Etat.NEW.equals(card.getEtat()) && card.getUser()!=null && !card.getUser().isEditable()) {
        List<Etat> etatsAvailable = new ArrayList<Etat>(card.getEtatsAvailable());
        etatsAvailable.remove(Etat.REQUEST_CHECKED);
        card.setEtatsAvailable(etatsAvailable);
    }
}
项目:spring-data-examples    文件:SecurityUtils.java   
/**
 * Configures the Spring Security {@link SecurityContext} to be authenticated as the user with the given username and
 * password as well as the given granted authorities.
 * 
 * @param username must not be {@literal null} or empty.
 * @param password must not be {@literal null} or empty.
 * @param roles
 */
public static void runAs(String username, String password, String... roles) {

    Assert.notNull(username, "Username must not be null!");
    Assert.notNull(password, "Password must not be null!");

    SecurityContextHolder.getContext().setAuthentication(
            new UsernamePasswordAuthenticationToken(username, password, AuthorityUtils.createAuthorityList(roles)));
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
 * 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;
}
项目:klask-io    文件:JWTFilter.java   
@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);
    }
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
/**
     * 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;
        }

        User user = (User)authentication.getPrincipal();
        String email = user.getUsername();
//        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);
        }
        return result;
    }
项目:SaleWeb    文件:SaleWebController.java   
@GetMapping("/tienda")
public String tienda (Model model,HttpServletRequest request, HttpSession sesion){
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    String currentPrincipalName = authentication.getName();
    sesion = request.getSession();
    sesion.setAttribute("email", currentPrincipalName);
    model.addAttribute("articulos", articulo_repository.findAll());
    model.addAttribute("admin",request.isUserInRole("ADMIN"));
    return "tienda";
}
项目:forweaver2.0    文件:WeaverService.java   
public Weaver getCurrentWeaver() {
    // TODO Auto-generated method stub
    Authentication auth = SecurityContextHolder.getContext()
            .getAuthentication();
    if (auth.getName().equals("anonymousUser"))
        return null;
    return (Weaver) auth.getPrincipal();
}
项目:Microservices-with-JHipster-and-Spring-Boot    文件:SecurityUtilsUnitTest.java   
@Test
public void testIsAuthenticated() {
    SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
    securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("admin", "admin"));
    SecurityContextHolder.setContext(securityContext);
    boolean isAuthenticated = SecurityUtils.isAuthenticated();
    assertThat(isAuthenticated).isTrue();
}
项目:Spring-Security-Third-Edition    文件:SpringSecurityUserContext.java   
@Override
public void setCurrentUser(CalendarUser user) {
    if (user == null) {
        throw new IllegalArgumentException("user cannot be null");
    }
    UserDetails userDetails = userDetailsService.loadUserByUsername(user.getEmail());
    UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails,
            user.getPassword(), userDetails.getAuthorities());
    SecurityContextHolder.getContext().setAuthentication(authentication);
}
项目:itweet-boot    文件:MainController.java   
/**
 * 后台Main
 * @param model
 * @return
 */
@GetMapping(value = "/admin/system/main")
public String main(Map<String, Object> model) {
    String username = SecurityContextHolder.getContext().getAuthentication().getName();
    System.out.println("----------->"+username+"<-----------");
    return "admin/system/main";
}
项目:xm-commons    文件:TimelineInterceptor.java   
private static OAuth2Authentication getAuthentication() {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    if (auth instanceof OAuth2Authentication) {
        return (OAuth2Authentication) SecurityContextHolder.getContext().getAuthentication();
    }
    return null;
}
项目:Taroco    文件:UCQueryApplication.java   
@Bean
public AuditorAware<String> auditorAware() {
    return new AuditorAware<String>() {
        @Override
        public String getCurrentAuditor() {
            Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

            if (authentication == null || !authentication.isAuthenticated()) {
                return null;
            }

            return authentication.getName();
        }
    };
}
项目:c4sg-services    文件:JwtUtil.java   
/**
 * Checks if one of the claim scopes hold an ADMIN role
 * @return True if admin
 */
public static boolean isAdmin() {
    AuthenticationJsonWebToken auth = (AuthenticationJsonWebToken) SecurityContextHolder.getContext().getAuthentication();
    if (auth != null && auth.getAuthorities() != null && auth.getAuthorities().contains(new SimpleGrantedAuthority("ADMIN"))) {
        return true;
    }
    return false;
}
项目:spring-backend-boilerplate    文件:SecurityContextImpl.java   
@Override
public User currentUser() {
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    if (authentication != null) {
        Object principal = authentication.getPrincipal();
        if (principal instanceof UserDetails) {
            return ((UserDetails) principal).getUser();
        }
    }

    logger.warn("Current User is not set, authentication: {}");
    return null;
}