Продолжайте знакомить с первой частью серии «Единый вход и управление полномочиями»: сущность единого входа и управления полномочиями Первые две статьи представленысессия и кукииHTTP-перенаправление, с ними браузер может автоматически взаимодействовать между несколькими системами для автоматического входа в систему.
Полный план написания серии можно найти по адресу:Обзор серии
В этой статье представлена система единого входа. Так называемый единый вход означает, что пользователям необходимо войти в систему только в одном месте. При доступе к другим связанным системам им не нужно повторно входить в систему, и они автоматически входят в систему неявно, так что опыт будет лучше.
В основном из следующих аспектов:
- Общий процесс взаимодействия
- Общие протоколы единого входа
- Резюме ключевых вопросов
Общий процесс взаимодействия
В нашем проекте для реализации единого входа используется протокол CAS.В качестве примера возьмем реализацию в проекте.Для начала рассмотрим процесс взаимодействия и разберемся в его реализации.
Существует 2 системы.Система А — это «служба поддержки клиентов», которая в основном используется службой поддержки клиентов. Она может общаться с посещающими пользователями в режиме реального времени и отвечать на вопросы пользователей. Система B — это «система заказов на работу».Для вопросов, на которые невозможно ответить, служба поддержки клиентов создаст заказ на работу, и люди с более высоким уровнем или высокой степенью релевантности увидят заказ на работу для обработки.
Служба поддержки клиентов надеется, что после входа в систему A нет необходимости вручную входить в систему B, но необходима «служба единого входа», чтобы обеспечить унифицированную проверку входа, координировать автоматический вход в систему A и системы B, определите службу как службу S и ее CAS. Поток сценария протокола выглядит следующим образом:
Мне потребовалось много времени, чтобы нарисовать приведенную выше картинку. Она выглядит сложной, но на самом деле все в порядке. Надеюсь, вы найдете время, чтобы прочитать ее. Если вы действительно понимаете первые две статьи, эта относительно проста.
Вот краткое изложение процесса:
- Черный кружок и красные символы обозначают создание и использование файлов cookie, ABCDE означает 5 файлов cookie, 1 означает создание, 2 означает использование;
- Будь то система A или система B, если файл cookie с идентификатором jessionid отсутствует, он перейдет к службе S. Если он содержит файл cookie1 (файл cookie, сгенерированный после успешного входа в систему), он автоматически войдет в систему без необходимости входа в систему. Если это не так. несите cookie1, он перейдет на страницу входа в систему, после успешного входа в систему будет установлен cookie1.
- cookie1 хранится в браузере и сервисе S, указывая на то, что пользователь вошел в систему;
- cookie2 и cookie4 являются временными файлами cookie, в основном для передачи кода службы в систему A или систему B. После получения кода службы запросите службу S через серверную часть для проверки.После проверки временный файл cookie недействителен, в основном для безопасности причины. .
- Подобно jessionid, сгенерированному нашим обычным входом в систему, cookie3 и cookie5 являются уникальными файлами cookie для каждой подсистемы;
Если у вас есть какие-либо вопросы, вы можете оставить сообщение ниже, и я отвечу как можно скорее.
Общие протоколы единого входа
Выше приведен один из протоколов CAS, но есть и другие протоколы, которые могут реализовывать единый вход, например протоколы, перечисленные на официальном сайте CAS:
Эти протоколы имеют разные применимые сценарии. Например, многие веб-сайты поддерживают прямой вход с помощью QQ, WeChat и Weibo. Пока вы входите в систему с помощью QQ, WeChat и Weibo, вам не нужно повторно входить в систему. протокол можно использовать для лучшего достижения этой цели.
Эти протоколы описаны отдельно позже.
Резюме ключевых вопросов
Независимо от протокола требуется промежуточная система для унифицированного управления аутентификацией и авторизацией. Кроме того, необходимо учитывать вопросы управления файлами cookie и безопасности.
В следующей статье будут представлены возможные проблемы с безопасностью, способы решения проблем с безопасностью, способы управления файлами cookie и сеансами, основное внимание будет уделено внедрению каждого конкретного протокола.
Индекс серии: