2015-09-28 2 views
1

Скажите post было отправлено код /login, были действительны username и password параметры.Каким образом основанная на форме аутентификация работает в условиях весенней безопасности?

Первый - Что должно быть в ответ? Должен ли он содержать jsessionid и/или другую информацию?

Второй - Как пружина безопасности идентифицирует текущего пользователя? Использует ли он фильтрацию jsessionid или «смотрит» на другую информацию (заголовок custome, файлы cookie и т. Д.)? По «jsessionid filtering» Я имею в виду (может быть, это неправильно), что при успешном входе пользователя в систему безопасности весы сохраняют jsessionid в успешный аутентифицированный список сеансов и сохраняют другую информацию (например, роли) в объекте сеанса. Это работает так или нет?

Третий Было бы хорошо, если некоторые тела обеспечивают шаг за шагом сырья запросов HTTP/ответы с аутентификацией: например, то, что должен содержать post запрос и что соответствует отклику ответа. Кроме того, какой запрос на защищенный ресурс должен содержать (некоторый заголовок, cookie, jsession или еще)?

+0

http://stackoverflow.com/questions/ 29276806/spring-security-testing-understanding-rest-authentication. В этом вопросе, внизу основного сообщения, вы можете увидеть, как реагирует Spring-Security. –

ответ

1

Я постараюсь помочь вам:

Первое: Ответ устанавливает куки для этого пути, в моем случае мое заявление находится в localhost:port/CambioClaveDist, поэтому, когда SpringSecurity подлинность моего пользователя, он создает новый JSESSIONID для что путь: Set-Cookie:"JSESSIONID=96ABDF25EE278DD69DD1A0400702E416; Path=/CambioClaveDist"

Second: Spring идентифицирует аутентифицированного пользователя с JSESSIONID, да.

Третье: У меня есть запрос HTTP/пост пример:
Authentication пост:

POST http://localhost:8080/CambioClaveDist/j_spring_security_check 
Host: localhost:8080 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate 
Referer: http://localhost:8080/CambioClaveDist/index.htm?logout=true 
Connection: keep-alive 

Content-Type: application/x-www-form-urlencoded 
Content-Length: 92 

_csrf=fbd07004-cc30-4ef6-9bfb-a00ae8f8819f&username=user&password=pass&sSubmit=Enviar 

запрос к защищенному URL:

GET http://localhost:8080/CambioClaveDist/main/index.htm 

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate 
Referer: http://localhost:8080/CambioClaveDist/index.htm?logout=true 
Cookie: JSESSIONID=96ABDF25EE278DD69DD1A0400702E416 
Connection: keep-alive