MVC RESTful Сервис Авторизация - PullRequest
3 голосов
/ 03 марта 2011

Я переписываю некоторые очень устаревшие веб-службы .NET 2.0 SOAP для моей компании.Поэтому я переписываю их, используя MVC3 RESTful.Этот метод упростил бы использование наших сервисов для нашей клиентской базы (более 500 клиентов, использующих наши текущие сервисы SOAP), которые работают на разных платформах и языках.

Я ищу ЛУЧШИЙ метод авторизации для сервисов RESTful, чем то, что предыдущий разработчик использовал для наших веб-служб .NET 2.0 SOAP (он в основном просто передавал клиенту GUID в качестве параметра и сопоставлял его в коде позади).

Я изучил oAuth и яхочу использовать его, ОДНАКО, мне сказали от моего начальства, что этот метод СЛИШКОМ сложен для "уровня" клиентов, которые подключаются к нашим услугам, и хотят, чтобы я нашел другой более простой способ для них подключиться, но все еще иметь авторизацию,У большинства наших клиентов BASIC нет знаний о программировании (либо мы помогли им настроить соединение, либо они наняли какого-то ребенка, чтобы сделать это за них).Это еще одна причина, по которой начальство хочет другого метода, потому что у нас не может быть, чтобы все 500+ (плюс 5-10 новых клиентов в день) обращались за помощью о том, как реализовать oAuth.

Итак, есть лидругой способ защитить службы MVC3, кроме передачи предварительно заданного GUID?

Я изучал использование проверки подлинности Windows на сайте служб, но действительно ли это логично для 500+ клиентов?

Существует ли простой и безопасный способ авторизации нескольких пользователей на разных платформах для использования сервисов MVC3 RESTful, которые конечный клиент может реализовать очень легко?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 03 марта 2011

Если вы не хотите ничего слишком сложного, взгляните на Basic HTTP Authentication .Если вы используете его по SSL, то он должен быть достаточно безопасным, а также достаточно простым для реализации для ваших клиентов.API Twitter фактически использовал это до тех пор, пока несколько месяцев назад они не переключились на OAuth.

0 голосов
/ 18 ноября 2013

Вы хотите различать аутентификацию и авторизацию. Что вам нужно, так это аутентификация, и, как действительно подсказывает Caps , самый простой способ - использовать аутентификацию HTTP BASIC вместе с SSL, чтобы пароль не был скомпрометирован.

Вы можете посмотреть другие способы аутентификации, например, DIGEST или более продвинутый с использованием ADFS или SAML (ADFS может быть привлекательным, поскольку вы находитесь в .NET). Также обратите внимание на OpenID Connect - он сильно поддерживается Google и имеет отличную поддержку.

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

OAuth на самом деле не решит вашу проблему, поскольку OAuth касается делегирования полномочий, т. Е. Я разрешаю Twitter писать в мою учетную запись Facebook от моего имени.

НТН

...