Мы используем сервер CAS для веб-приложения JAVA.
Система аутентификации выглядит следующим образом:
- Пользователь пытается получить доступ к ресурсу (1) в системе
- Получает перенаправления ( 302 найдено )
- Пользователь вводит имя пользователя, пароль
- Сервер отвечает cookie и перенаправляет на исходную страницу (1)
Я спорю о том, что это взаимодействие уважает протокол HTTP.
Если у меня нет авторизации для доступа к ресурсу
разве система не должна отвечать 401 Unauthorized или, что еще лучше, 407 Proxy Authentication Required ?
А Ресурс Авторизации, не может быть вместо строки Cookie полным ключом авторизации уровня SSL?
Добавлено:
Дамп заголовка с использованием curl -L -D
HTTP/1.1 301 Moved Permanently
Server: nginx/0.8.54
Date: Sat, 10 Dec 2011 02:07:55 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://server.com/service/
HTTP/1.1 302 Found
Server: nginx/0.8.54
Date: Sat, 10 Dec 2011 02:07:55 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-store, max-age=0, must-revalidate
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: JSESSIONID=q7rjikj4spvd1fxaowjl9XXX
Location: https://server.com/login/
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Sat, 10 Dec 2011 02:07:55 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.3.2
Content-Length: 6650