Аутентификация веб-службы из ASP.NET MVC 2 и FormsAuthentication - PullRequest
4 голосов
/ 19 августа 2010

Я использую ASP.NET MVC2, который запрашивает методы из Web-сервиса (все мои DAO помещают в Web-сервис). Для веб-сервиса используется базовая аутентификация. Для аутентификации с asp.net на веб-сервис я использую FormsAuthentication. Для этого я должен был написать наследование WebServiceMembershipProvider от MembershipProvider. В методе ValidateUser я подключаюсь к Web-сервису, и если аутентификация прошла успешно - сохраните тикет в куки, используйте FormsAuthentication.SetAuthCookie

Мой вопрос: где я должен хранить имя пользователя и пароль после проверки: файлы cookie, сеанс или другое? Мне нужно сохранить имя пользователя и пароль для отправки его в Web-сервис перед вызовом методов в Credentials, например:

MyServiceSoapClient client = new MyServiceSoapClient();
client.ClientCredentials.UserName.UserName = this.username;
client.ClientCredentials.UserName.Password = this.password;
List<Product> products = client.GetProductList();

1 Ответ

1 голос
/ 16 ноября 2010

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

Вваш класс WebService (WebServiceMembershipProvider), который вы унаследуете от MembershipProvider и сделаете вызов MembershipProvider.ValidateUser .

Если вы говорите о хранении дополнительной информации, то только в FormsAuthentication.SetAuthCookie,тогда это ответ, который вы, вероятно, ищете.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...