Что состоит в том, чтобы иметь лучший способ, Проходят проверку подлинности для веб-сервиса

Есть много вариантов:

6
задан tvanfosson 7 November 2008 в 03:31
поделиться

5 ответов

Если веб-сервис должен быть защищен, и я предполагаю, что он делает, так как у Вас в настоящее время есть Заголовок аутентификации, то необходимо пересмотреть использование, ДОБИРАЮТСЯ и не использование SSL, по крайней мере, для части аутентификации. Как минимум я был бы POST запрос авторизации через SSL к веб-сервису / приложение. Если Вы не захотите обеспечивать аутентификацию по каждому запросу, то необходимо будет принять назад (и генерировать в сервисе), cookie авторизации, который потребитель может использовать для последующих запросов.

Я избегал бы использования аутентификации в URL по точно причине, что Вы хотите поддерживать, ДОБИРАЮТСЯ - если URL может кэшироваться, то учетные данные будут кэшироваться также. Это повреждает безопасность веб-сервиса, так как любой может снова использовать кэшируемые учетные данные.

1
ответ дан 17 December 2019 в 20:36
поделиться

Если Ваши клиенты находятся на том же домене, можно включить Интегрированную аутентификацию Windows в приложении IIS. Ваше приложение теперь признает, что Windows аутентифицировал пользователей, только. Добавьте свой собственный RoleProvider для более прекрасной, основанной на роли гранулярности.

1
ответ дан 17 December 2019 в 20:36
поделиться

Используя ПОЛУЧЕНИЕ только API, у меня был бы первый метод, который выбирает уникальный идентификатор сессии.

Например: ПОЛУЧИТЬ / API? action=auth&username=user&password=hashedpassword возвратил бы 16 маркеров символов, которые Вы храните на своей стороне, и Вы требуете этого уникального маркера для каждого последующего вызова.

Если бы API был сделан в PHP, то Вы могли бы использовать его функциональность обработки сессии PHP для достижения этого (он имеет тайм-аут/сборку "мусора"). В ASP.NET существуют подобные функции.

Это уязвимо для атаки с повторением пакетов (кто-то захват или предположение идентификатора сессии), но если Вы хотите что-то простое, это - способ пойти. Любой веб-сайт неHTTPS был бы уязвим таким же образом. Можно связать идентификатор сессии адресом IP пользователя для дополнительной безопасности.

0
ответ дан 17 December 2019 в 20:36
поделиться

При использовании WCF, Вы можете, основывался на созданном в механизмах защиты. Если Вы не хотите использовать стандартные платформы для безопасности, Вы, скорее всего, собираетесь сделать безопасность с помощью мрака.

0
ответ дан 17 December 2019 в 20:36
поделиться

Подобный ответу Thomas Eyde: можно использовать систему единой точки входа как siteminder для обеспечения URL. Вызывающая сторона запрашивает потребности включать маркер, который обычно хранится в cookie, но может быть добавлен к строке запроса.

Любой SSO или платформа управления веб-сервиса намеренно сделают аутентификацию трудной, не используя SSL.

0
ответ дан 17 December 2019 в 20:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: