#c# #asp.net #wcf #authentication
#c# #asp.net #wcf #аутентификация
Вопрос:
Я создал службу WCF, которая размещается с помощью службы Windows.
Служба Windows запущена в LocalSystem в разделе services.msc
Я только хочу разрешить принимать запросы от моего asp.net Пользователи пользовательского интерфейса, входящие в группу пользователей dmain? В конечном итоге у нас будет несколько пользовательских интерфейсов, и я не хочу писать код проверки безопасности в пользовательском интерфейсе.
Как мне проверить, кто выполняет вызов, чтобы я мог сделать что-то вроде:
if (incomingUserGroup != "GroupRequired)
{
throw NotAllowedException();
}
Ответ №1:
Вы можете проверить учетные данные безопасности вызывающего пользователя через OperationContext . Это зависит от того, сделали ли вы службу доступной на конечной точке, используя защищенную привязку, такую как NetTcpBinding или wsHttpBinding.
OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Groups
Комментарии:
1. Куда мне добавить этот код? В моей библиотеке служб wcf? например, если мой метод getData(), я добавлю эту строку внутри getData()?
2. также группа имеет только значение Guid. как мне получить имя группы вместо домена?