Я использую весной 4.2.1 с пружинной безопасностью 4.0.2Spring Security, программный Логин для JSon успокоительной веб-сервиса
На входе, мне нужно, чтобы вернуть объект JSON дерево клиента, содержащего кэшированные данные его требуется для сеанса.
Так что я добавил следующий метод:
@RequestMapping(value = "/login", method = RequestMethod.POST)
public @ResponseBody ServerResponse<?> login(@RequestBody LoginRequest loginRequest, HttpServletRequest request, HttpServletResponse response) {
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(loginRequest.getUsername(), loginRequest.getPassword());
Authentication result = authenticationManager.authenticate(token);
SecurityContextHolder.getContext().setAuthentication(result);
Object data = null; // Do stuff here
return new ServerResponse<>(data);
}
Мой конфиг пружинный безопасности:
<ss:http auto-config="false" use-expressions="true" entry-point-ref="authenticationEntryPoint">
<ss:anonymous enabled="false" />
<!-- this is enabled by default in spring 4 -->
<ss:csrf disabled="true" />
<ss:custom-filter position="FORM_LOGIN_FILTER" ref="myAuthFilter" />
<ss:session-management session-authentication-strategy-ref="sas" />
<ss:port-mappings>
<ss:port-mapping http="8080" https="8443" />
</ss:port-mappings>
<ss:intercept-url pattern="/app/logi**" access="permitAll()" />
<ss:intercept-url pattern="/app/logou**" access="permitAll()" />
<ss:intercept-url pattern="/app/**" access="hasAuthority('user')" />
<ss:intercept-url pattern="/www/**" access="hasAuthority('user')" />
</ss:http>
Все страницы я нахожу в отношении программного входа подтвердить, что я делаю это хорошо ,
Однако, когда я пытаюсь позвонить другой метод веб-службы позже, я получаю 403 как клиент не вошел в систему.
Я прочитал некоторые неопределенные ссылки на необходимости использовать пружинный фильтр, но я не уверен, как бы я получил фильтр, чтобы вернуть дерево json клиенту после успешного входа в систему.
Любые предложения или ссылки на пример о том, как это сделать, будут высоко оценены.
Благодаря