Исключение Custom Security 2019 для сервера отчетов SSRS Sql Server в Windows Server 2019

Исключение Custom Security 2019 для сервера отчетов SSRS Sql Server в Windows Server 2019

Я столкнулся с проблемой, связанной с пользовательским исключением безопасности SSRS (Sql Server Reporting Server) 2019 в Windows Server 2019.

Отчет SSRS отлично работает из кода winforms vb.net в предыдущих версиях SQL Server (2016, 2014 и 2012), но не в 2019.

Запуск отчета с использованием исходного кода Vb.net Winforms и отправка WebRequest на сервер SSRS с необходимыми данными, такими как URL-адрес сервера, имя пользователя, пароль, DBName и т. д., с ответом с использованием webResponse, необходимо получить cookie-файл аутентификации для пользователя.

Получение ошибки, так как sqlAuthCookie имеет значение null, а также получение ошибки, так как пользовательское исключение безопасности не включено

Любое решение/помощь будут высоко оценены.

Прикрепил фрагмент кода, который отправляет данные с vb.net и получает ответ от сервера SSRS.

VB.NET Code
Protected Overrides Function GetWebResponse(ByVal request As WebRequest) As WebResponse
        Dim response As WebResponse = MyBase.GetWebResponse(request)
        Dim cookieName As String = response.Headers("RSAuthenticationHeader")
        ' If the response contains an auth header, store the cookie
        If Not (cookieName Is Nothing) Then
            Dim webResponse As HttpWebResponse = CType(response, HttpWebResponse)
            Dim authCookie As Cookie = webResponse.Cookies(cookieName)
            ' If the auth cookie is null, throw an exception
            If authCookie Is Nothing Then
                Throw New Exception("Unable to generate report - the Reporting Services Custom Security Extension is expected to be enabled in XB")
            End If
            ' otherwise save it for this request
            Me.AuthCookie = authCookie
            ' and send it to the client
        End If
        Return response

    End Function
//adding new GetUserInfo method for IAuthenticationExtension2
       public void GetUserInfo(IRSRequestContext requestContext, out IIdentity userIdentity, out IntPtr userId)
       {
           userIdentity = null;
           if (requestContext.User != null)
           {
               userIdentity = requestContext.User;
           }

           // initialize a pointer to the current user id to zero
           userId = IntPtr.Zero;
       }

Связанный контент