2013-04-21 2 views
5

Я разрабатываю сайт ASP.NET MVC 4 на .NET 4.0. Я пытаюсь проверить подлинность сайта на WEB API. Теперь сайт будет передавать имя пользователя и пароль, а WEB API будет аутентифицировать его. Если аутентифицирован, WEB API вернет токен с ролями, Time To Live и т. Д. Я ищу несколько указателей на это.Asp.net MVC 4 + WEB API - Пользовательский токен аутентификации

1.) Как сгенерировать этот токен? Я не хочу использовать STS или что-то еще. Даже подход с недобросовестным доказательством. 2.) На стороне MVC я должен получить этот токен и установить текущий сеанс как аутентифицированный и убедиться, что с истечением срока действия TTL я перенаправляю пользователя на страницу входа? Также во всех запросах API WEB мне нужно отправить этот токен.

ответ

4

Как правило, вы можете либо генерировать токен, либо реализовывать его логику проверки вручную, либо использовать некоторые сторонние инструменты.

Для ручной реализации смотрите here или here в блоге, это может быть хорошей отправной точкой для вас. Он основан на классе http://oauth.googlecode.com/svn/code/csharp/OAuthBase.cs.

Для концепции клиентской стороны и OAuth вы можете прочитать here хороший ответ.

От сторонних сторон выбор goo может быть DotNetOpenAuth. Это хорошая библиотека, но она сложна при работе с OAuth. Попытайтесь посмотреть на его Web API OAuth2 sample

Второй вопрос - ответ да. Вы проверяете токен и задаете запрос как аутентифицированный. В любом случае вы можете посмотреть образец Wep API OAuth, где он реализован.

1

Это будет один из самых хороших мест, чтобы начать, Это связано красиво с членством asp.net

https://stackoverflow.com/a/7217957/989679

Вы в основном хранить информацию в USERDATA из authCookie и хорошо работает с WebAPI

3

Вы могли бы рассмотреть вопрос об использовании WebAPI Токен Auth Bootstrap Пакет В настоящее время я работаю над - доступны на GitHub или NuGet.

Документация и образцы образцов доступны по адресу GitHub Wiki.

Простой токен и аутентификация пользователей и авторизация Bootstrap для приложений WebAPI. Предоставляется с помощью «TokenAuthApiController», который имеет встроенную поддержку для входа и выхода из системы (на основе файлов cookie) (в строках запроса, данных формы или файлов cookie).

Это самозагрузки позволяют просто [TokenAuthentication] атрибут действий с соответствующим AccessLevel: Admin, User, Public или Annonymous.

Этот загрузчик также обеспечивает TokenAuthApiController, который наследуется от традиционного ApiController и добавляет дополнительную функциональность подробную here.

Смело Вытащите запросы, вопросы отчетов или Заплатить

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