Authentification du service Web

Vous pouvez utiliser l'authentification Windows ou l'authentification de base pour authentifier les appels effectués auprès du service Web Report Server. Tout client qui effectue des demandes SOAP au serveur de rapports doit implémenter la partie cliente de l'un des protocoles d'authentification pris en charge. Si vous utilisez Microsoft .NET Framework, vous pouvez utiliser les classes HTTP du code managé pour implémenter l'authentification. L'utilisation de ces API simplifie l'envoi des informations d'authentification et des demandes SOAP.

Si vous n'avez pas les informations d'identification appropriées avant d'effectuer un appel auprès du service Web Report Server, l'appel échoue. Au moment de l'exécution, vous pouvez passer les informations d'identification au service Web en définissant la propriété Credentials de l'objet côté client qui représente le service Web avant d'appeler ses méthodes.

Les sections suivantes contiennent un exemple de code qui envoie des informations d'identification à l'aide de .NET Framework.

Authentification Windows

Le code suivant passe des informations d'identification Windows au service Web.

Dim rs As New ReportingService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
ReportingService rs = new ReportingService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

Authentification de base

Le code suivant passe des informations d'identification de base au service Web.

Dim rs As New ReportingService()
rs.Credentials = New System.Net.NetworkCredential("username", "password", "domain")
ReportingService service = new ReportingService();
service.Credentials = new System.Net.NetworkCredential("username", "password", "domain");

Les informations d'identification doivent être définies avant d'appeler chacune des méthodes du service Web Report Server. Si vous ne définissez pas ces informations, vous recevez le code d'erreur HTTP 401 : Accès refusé. Vous devez authentifier le service avant de l'utiliser, mais après avoir défini les informations d'identification, il n'est pas nécessaire de les définir à nouveau si vous continuez à utiliser la même variable de service (telle que rs).

Authentification personnalisée

Reporting Services inclut une API de programmation qui permet aux développeurs de concevoir et de développer des extensions d'authentification personnalisées appelées extensions de sécurité. Pour plus d'informations, consultez Implémentation d'une extension de sécurité.