Архитектура центрального сервера аутентификации и поток аутентификации - PullRequest
0 голосов
/ 09 марта 2012

Недавно, когда я работал с сервером CAS, возникла концептуальная проблема ... Как я понял, как только проверка билета пройдет успешно, этот билет будет удален ... Но почему? И где именно проверяется роль пользователя?

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

По умолчанию ServiceTicket (ST) может использоваться только один раз и только в течение короткого времени (он привязан к MultiTimeUseOrTimeoutExpirationPolicy).Это как сказал Майк в своем ответе, чтобы убедиться, что он не используется не по назначению.Эти предварительные настройки можно изменить, если вам действительно нужно, как я уже писал в другом сообщении , изменив файл ticketExpirationPolicy.xml

Однако TicketGrantingTicket (TGT) остается активным и по умолчаниюпривязан только к TimeoutExpirationPolicy и не ограничен суммой запроса.Из TGT CAS может создать столько ST, сколько вам нужно.

0 голосов
/ 09 марта 2012

Билеты на услуги CAS являются одноразовыми для устранения риска повторной атаки. Если вы используете рекомендуемую настройку, ваш клиент должен общаться только с сервером CAS по протоколу HTTPS, поэтому при получении запроса на обслуживание от сервера CAS он остается конфиденциальным. Однако затем клиент может потенциально представить желаемую услугу по незашифрованному каналу (т.е. HTTP). Следовательно, больше не безопасно предполагать, что он является секретным после первого использования. Кроме того, все, что необходимо для аутентификации клиента, - это одно использование, поэтому после него использование дополнительных назначений не имеет особого смысла. Это просто напрашивается на неприятности.

Когда дело касается ролей пользователей, это зависит от вашего приложения. Цель CAS - сообщить вам, с кем вы имеете дело (аутентификация), и это хорошо сработает. То, что конкретному пользователю разрешено делать в вашем приложении (авторизация), - это другая проблема, а не та, для которой предназначен CAS.

...