2010-02-09 3 views
1

Я написал огромное приложение, которое использует службы WCF для выполнения таких операций, как чтение из баз данных, а также возможность использования интегрированной безопасности.WCF get Group of user

Банкоматы Я использую следующий код для получения текущего вошедшего имени пользователя:

string userName = HttpContext.Current.User.Identity.Name; 

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

Не знаю, если это уместно, но моя конечная точка настроена как:

<service behaviorConfiguration="ZNA.Integratie.KopMon.Web.LoginServiceBehavior" 
name="ZNA.Integratie.KopMon.Web.LoginService"> 
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="Security" contract="ZNA.Integratie.KopMon.Web.LoginService" /> 
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 

<behavior name="ZNA.Integratie.KopMon.Web.LoginServiceBehavior"> 
<serviceMetadata httpGetEnabled="true" /> 
<serviceDebug includeExceptionDetailInFaults="false" /> 
</behavior> 

<binding name="Security"> 
    <security mode="TransportCredentialOnly"> 
    <transport clientCredentialType="Windows" /> 
    </security> 
</binding> 
+0

Почему вам нужны группы который пользователь является участником? Если это для целей авторизации, лучшей моделью является просто вопрос, является ли он или она членом определенной группы/роли. –

ответ

1

Попробуйте это:

bool hasAccess = HttpContext.Current.User.IsInRole("Administrators"); 
+0

Aaah, чистый и простой ответ. Всегда приятно читать :) Извините за то, что не понял этого самостоятельно – WtFudgE