bien en supposant que le client WCF et le serveur sont sur le même domaine, vous pourriez faire quelque chose comme ça:
Du côté client, vous permettent d'utiliser l'identité Windows pour authentifier le client:
using System.Security.Principal;
....
ServiceReference.ServiceClient client = new ServiceReference.ServiceClient();
client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Identification;
du côté du serveur, vous retrive les fenêtres de identification de l'appelant et tester si elle appartient au groupe:
WindowsIdentity callerWindowsIdentity = ServiceSecurityContext.Current.WindowsIdentity;
WindowsPrincipal windowsPrincipal = new WindowsPrincipal(callerWindowsIdentity);
var isInRole = windowsPrincipal.IsInRole("Users");
il est possible, mais la mise en œuvre dépend de la topologie de l'application (par ex ample, comment le service est-il hébergé: IIS, service Windows, application console e.t.c., est le client accédant au service dans le même réseau/domaine, est l'authentification Windows Kerberos ou NTLM e.t.c.). –
@lonut Ungureanu - WindowsService (mise à jour de la question) – Joezer