2009-07-24 1 views
3

Я смотрел на схему и пытаюсь выяснить, что эта таблица может быть использована для:Что такое таблица «единого знака» и зачем нужен этот список столбцов?

CREATE TABLE "single_sign_ons" 
"token" VARCHAR(64) NOT NULL, 
"ip" VARCHAR(32) NOT NULL, 
"expired_at" DATETIME NOT NULL, 
"one_time" VARCHAR(64), 
"created_at" DATETIME, 
"updated_at" DATETIME, 
"user_id" INTEGER, 
PRIMARY KEY("token")); 

Что такое «единый вход» и почему автор этой таблицы включает следующие столбцы для этой цели?

+0

Я не уверен, почему здесь находится IP-адрес? Вы можете войти в систему с одного IP-адреса, перебраться улицу на кофе и возобновить сеанс (при условии, что в кафе есть другой IP-адрес). Однако, возможно, именно там, чтобы предотвратить этот точный сценарий в первую очередь :) – NoChance

ответ

4

Это держатель для входа в систему пользователя. Я считаю, что таблица будет использоваться, когда пользователь выполнит вход, чтобы проверить, что их сеанс все еще активен, и разрешить им доступ к различным серверам/сайтам без регистрации во второй раз.

Я предполагаю, что при первом входе в систему пользовательский сеанс будет известен как новый, так что пользователь будет запрашивать учетные данные. Затем в эту таблицу вводится строка с идентификатором пользователя, IP-адресом, датой создания и токеном. Этот токен затем будет прикреплен к сеансу пользователя и будет использоваться при последующих входах.

Другие процессы затем получат токен как часть связи и проверяют эту таблицу, чтобы убедиться, что сеанс по-прежнему действителен. Каждый раз, когда сеанс проверяется, поле обновления будет изменено, так что известно, что пользователь активен.

Еще более логично будет периодически проверять таблицу и истекать любые строки сеанса, которые не были обновлены достаточно недавно. Какое бы «достаточно» для этой системы.Затем подсыщенные запросы доступа с токеном будут регистрировать истечение, запрос для учетных данных и установить новую строку с новым токеном.

2

Single Sign On - это технология аутентификации для веб-сайтов. Он позволяет вам регистрироваться в одном месте и иметь автоматическую проверку подлинности, если сайты проверяют серверы проверки подлинности, чтобы узнать, зарегистрирован ли пользователь. Он отслеживает это с помощью токенов. Это ведет себя так же, как Kerberos для локальных входов в систему.

Single Sign On

Чтобы уточнить, это делает его таким образом Вы не должны держать вход в систему и ведение отдельных счетов по нескольким услугам.

+1

SSO не ** просто ** для веб-сайтов. Когда я вхожу на компьютер с ОС Windows, мои учетные данные могут сохраняться и предоставлять мне доступ к другим ресурсам, таким как общие сетевые файлы и базы данных SQL Server. Я бы назвал это SSO. –

+0

Вы правы. Единый вход - это общий термин, но я рассматривал его только в веб-среде. Тот факт, что мне не нужно подключаться к серверу SQL, - это просто «Магия», о которой я забыл, тогда как установка SSO в моем собственном веб-приложении дает мне изжогу и никогда не бывает далека от моих мыслей. –

1

Похоже, что это магазин аутентификации, чтобы определить, кто входит в систему, в систему. Я предполагаю, что различные приложения смотрят на эту таблицу, чтобы убедиться, что кто-то из ip-адресов аутентифицирован. Если у человека есть, они разрешены в приложение без ввода имени пользователя и пароля.

Вот ссылка на википедию по теме:

http://en.wikipedia.org/wiki/Single_sign-on

В самом перспективе Active directory обычно используется для этого также.

+0

+1 для Википедии ссылка и упоминание AD. –

2

«Единый вход» позволяет пользователю пройти аутентификацию один раз и использовать один и тот же токен аутентификации для нескольких приложений.

Например, если вы входите в Gmail, а затем переходите в Календарь Google, вам не нужно снова входить в систему.

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

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

Смежные вопросы