#c# #.net #web-services #security
#c# #.net #веб-службы #Безопасность
Вопрос:
У меня есть веб-служба, которая имеет несколько веб-методов. Есть ли способ предоставить только один из этих веб-методов определенной группе или лицу?
На данный момент я использую проверку подлинности Windows и группы пользователей для авторизации. Это просто обеспечивает полный доступ к веб-службе.
<authentication mode="Windows"/>
<authorization>
<allow users="*" roles="domaingroupName"/>
<deny users="*"/>
</authorization>
Есть ли способ добавить другую группу в атрибут roles, который разрешал бы доступ только к «myMethod», а не к другим веб-методам, существующим в веб-службе?
Любая помощь приветствуется!
Ответ №1:
Посмотрите на параметры авторизации на основе ролей в разделе WCF в статье Аутентификация, авторизация и удостоверения в WCF. Похоже, что раздел декларативной авторизации — это то, что вы ищете.
Ответ №2:
Я не думаю, что вы можете определить аутентификацию по методу, но вы можете определить ее по каталогу или странице. Так что, возможно, если вы перестроите свои методы в отдельные сервисы.
Вот пример проверки подлинности по странице / каталогу
<configuration>
<location path="Logon.aspx">
<system.web>
<authorization>
<allow users="*" roles="domaingroupName"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
И вот ссылка на исходную статью, которая может вам помочь.
http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx