Аутентификация OpenId в ASP.NET MVC как полноценный сервис? - PullRequest
4 голосов
/ 12 января 2011

Могу ли я предложить аутентификацию, авторизацию и т. Д., Созданные с использованием расширения "ASP.NET MVC Open Id website" ... в качестве службы REST в ASP.NET MVC?Как я могу создать этот сервис (возможно, используя WCF)?(Пожалуйста, если можете, предложите мне несколько примеров, пожалуйста.)

Ответы [ 3 ]

9 голосов
/ 29 января 2011

Да, вы можете.OpenID - это , а не для авторизации веб-сервисов вообще.Это то, что делает OAuth.Но DotNetOpenAuth поддерживает и OpenID, и OAuth, поэтому ваши пользователи могут проходить аутентификацию с помощью OpenID, а затем авторизовать клиентов RESTful через OAuth, и пользовательская история, вероятно, именно то, что вы ищете.

Существует шаблон проекта , который показывает вам, как именно это сделать (делает это за вас, на самом деле), доступный в галерее Visual Studio.

2 голосов
/ 01 февраля 2011

Вы можете легко создавать REST-сервисы, используя только MVC. WCF не нужен. В ASP.NET MVC есть тонна постов об архитектуре отдыха.

Здесь доступен код с базовым API для служб Restful с использованием ASP.NET MVC: http://code.msdn.microsoft.com/MvcWebAPI.

У автора этой библиотеки есть отличная статья, объясняющая, как создать такой сервис, который способен обслуживать как JSON, так и XML. Его можно прочитать по адресу: http://omaralzabir.com/create_rest_api_using_asp_net_mvc_that_speaks_both_json_and_plain_xml/

Существует множество инструментов, которые могут помочь вам реализовать службу OpenId, например http://www.dotnetopenauth.net/ или решение, обозначенное по адресу http://www.west -wind.com / weblog / posts / 899303.aspx . Вы сказали, что уже создали систему регистрации OpenId. В основном, возьмите систему регистрации, создайте интерфейс, подобный:

 public interface IOpenIdService{
      bool Login(string login, string password);
 }

и выполните его в методе Controller Action. В случае успеха верните JSON или XML сообщение об успехе. Если это не удалось, верните сообщение об ошибке JSON или XML.

* Я также нашел эту статью полезной для REST с MVC: http://blog.wekeroad.com/2007/12/06/aspnet-mvc-using-restful-architecture/. Также, если вы хотите расширить функциональность JSON, загляните в JSON.NET.

0 голосов
/ 12 января 2011

Взгляните на последний учебник по кодексу.Он имеет интеграцию OpenId, встроенную в пример приложения MVC: http://nerddinner.codeplex.com/

...