Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Авторизация в веб-сервисах, как реализовать? 
:(
    Опции темы
useless
Дата 31.5.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 18.5.2004

Репутация: нет
Всего: 1



Коллеги, подскажите !!!
Как реализовать авторизацию в веб-сервисе?
Например, имеется какой-то метод. Нужно разрешить обращаться к нему только определённым пользователям.
Кто делал что-то подобное в веб-сервисах, поделитесь пожалуйста.

P.S. От жары запарил и создал вместо темы новость.  smile  Модеры, почистите, плиз. Извините. 
--------------------
Лучше день потерять, потом за 5 минут долететь !!!
PM MAIL ICQ   Вверх
Exception
Дата 31.5.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 9
Всего: 186



PM   Вверх
useless
Дата 1.6.2007, 06:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 18.5.2004

Репутация: нет
Всего: 1



Exception, спасибо, конечно.
Но хотелось бы примеров применительно к xml-службам.
Как заюзать вот эти все токены в моей службе?
Вот создал я к примеру проект в VS2005. И чего там куда втыкать?
Я подозреваю, что в студии 2005 это ещё не реализовано и придётся ручками кодить. Но как?

Это сообщение отредактировал(а) useless - 1.6.2007, 06:22
--------------------
Лучше день потерять, потом за 5 минут долететь !!!
PM MAIL ICQ   Вверх
Mymik
Дата 1.6.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



useless, 
Тебе понадобиться дополнительный класс
Код

public class AuthHeader : System.Web.Services.Protocols.SoapHeader
{
    public string Username;
    public string Password;
}

Это и будет твой класс авторизации.

Непосредственно в твоем классе веб-сервиса нужно добавить поле, которая будет этим классом
Код

public AuthHeader Authentication;


У твоего метода нужно добавить атрибут
Код

[SoapHeader ("Authentication", Required=true)]


Непосредственно в методе ты будешь проверять работу авторизации
Код

if(Authentication.Username == "test" && Authentication.Password == "test")
{
    /* исполняемый код */
}


При вызове web-сервиса. ты будешь делать это примерно вот так вот
Код

localhost.WebService webService = new AuthWebService.WebService();
localhost.AuthHeader authentication = new AuthWebService.AuthHeader();

authentication.Username = "test";
authentication.Password = "test";
webService.AuthHeaderValue = authentication;

/* Дальше идет непосредственный вызов метода для сервиса */




--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
useless
Дата 2.6.2007, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 18.5.2004

Репутация: нет
Всего: 1



Вот это ближе к телу.
Спасибо, Mymik.
Только вот что меня терзает. Безопасно ли так передавать пароль? Есть ли возможность перехватить пароль? SOAP-заголовки передаются в открытую?

Это сообщение отредактировал(а) useless - 2.6.2007, 06:26
--------------------
Лучше день потерять, потом за 5 минут долететь !!!
PM MAIL ICQ   Вверх
Mymik
Дата 2.6.2007, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



useless, AFAIK, SOAP передает в виде обычного xml... Точнее он на входе в виде обычного xml. А вот как летают пакеты... черт его знает... никогда даже и не интересовался.

Вот что нашел в google. Походу это отдельные разработки
http://www.microsoft.com/rus/msdn/magazine.../WsSecurity.asp <<-- статья и внизу архивчик с примером
http://fububy.na.by/index.php?elif=soap/a4...d567f160ec4.htm <<-- небольшое обсуждение. 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.