Dynamics AX : SSRS Authentification Persistance

Une configuration SSRS Scale Out deployment peut amener son lot de problèmes. J'ai déjà écrit au sujet de l'erreur HTTP status 401: Unauthorised. Ici, je parle du même problème, mais d'un scénario différent.

Dans ce cas-ci, le client AX envoie deux requêtes, la première requête fonctionne et la deuxième requête échoue. Par exemple, lorsque l'utilisateur imprime un rapport SSRS sur une imprimante réseau, la première requête est envoyée afin d'obtenir le rapport SSRS et une deuxième requête afin de faire l'impression sur une imprimante réseau.


Plusieurs choses ici entrent en ligne de jeu. Tout d'abord, le load balancer est configuré avec une affinité de type COOKIEINSERT. Ceci veut dire qu'un cookie est placé dans la première requête, ainsi les paquets réseau subséquents de la même requête sont redirigés au même serveur SSRS.

Ensuite, le load balancer est configuré en Round Robin, donc la première requête est envoyée au premier serveur et la deuxième requête au second serveur SSRS.

La question à laquelle je me suis longtemps posé est: pourquoi le client n'effectue pas une authentification lors de la deuxième requête.

La réponse est: parce que ce sont deux requêtes envoyées lors de la même connexion. 

Ceci dit, vous avez donc trois solutions.

1 - Changer le mode d'affinité de COOKIEINSERT à SOURCEIP. Ainsi, la deuxième requête, qui vient de la même adresse IP, va être redirigée au même serveur SSRS. À ne pas faire si vous utilisez un Proxy ou un seul serveur RDS pour tous vos clients AX.

2 - Authentification Persistance. Cette configuration force le client à s'authentifier à chaque requête au lieu de chaque connexion. Cette solution ajoute du trafic réseau.

This property controls whether the report server requires authentication for each client request or only once per connection. By default, the EnableAuthPersistance property is set to True in the RSReportServer.config file. This setting applies the security context of the client's first request to each subsequent request. However, if your environment includes a proxy server that sends requests from multiple users as a single connection, you should disable this property by setting its value to False. Disabling it forces the report server to authenticate each request individually.

3 - Kerberos
Previous
« Prev Post