2016-04-29 2 views
0

Я разрабатываю веб-приложение с весной безопасности, и я должен проверить некоторые страницы, которые находятся в частной области, и каждый раз, когда я должен войти, чтобы проверить эту страницу.Авто Войти Весна Безопасность

Есть ли функция, которая автоматически регистрирует учетную запись весны с заданным пользователем, чтобы я мог проверить страницы напрямую?

Благодаря

+0

Используйте последнюю версию безопасности для весны, и вы можете аннотировать тест с помощью '@ WithMockUser' и т. Д. См. Http://docs.spring.io/spring-security/site/docs/current/reference/html/test-method .html –

ответ

4
 public Authentication authenticateUserAndSetSession(String username,HttpServletRequest request){ 

      UserDetails userDetails = userDetailsServiceImpl.loadUserByUsername(username); 

      Authentication authentication = new UsernamePasswordAuthenticationToken(userDetails, userDetails.getPassword(), userDetails.getAuthorities()); 

      SecurityContextHolder.getContext().setAuthentication(authentication); 

      request.getSession().setAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY, SecurityContextHolder.getContext()); 

      return authentication; 
     } 

Используйте этот метод и передавайте только имя пользователя и объект запроса по этому методу. Это работает для меня. Я думаю, это поможет вам.

+0

Престиж для аккуратного решения – angryip

0

Я принимаю Войти страница имеет что-то трудно проверить с помощью автоматизированных инструментов, таких как селен.

У меня была такая же проблема некоторое время назад и вышла с решением, чтобы иметь два профиля maven один для производства, а другой для тестирования. Для тестирования вся пружинная защита отключается (путем фильтрации файлов весны xml) и заменяет его жестко запрограммированным профилем пользователя по умолчанию.

Это сделало возможным, чтобы Selenium не удосужился с помощью captcha на странице входа.

+0

Привет, вы хотите избежать этого решения селена, тогда вы можете проверить мой выше ответ. –

Смежные вопросы