Windows Server 2019의 SSRS SQL Server 보고 서버 사용자 지정 보안 2019 예외

Windows Server 2019의 SSRS SQL Server 보고 서버 사용자 지정 보안 2019 예외

Windows Server 2019의 SSRS(Sql Server Reporting Server) 2019 사용자 지정 보안 예외와 관련된 문제에 직면했습니다.

SSRS 보고서는 이전 버전의 SQL Server(2016, 2014 및 2012)의 winforms vb.net 코드에서 제대로 작동하지만 2019에서는 작동하지 않습니다.

Vb.net Winforms 소스 코드를 사용하여 보고서를 실행하고 서버 URL, 사용자 이름, 비밀번호, DBName 등과 같은 필수 세부 정보가 포함된 WebRequest를 SSRS 서버로 보내고 webResponse를 사용하여 다시 응답하면 사용자에 대한 인증 쿠키를 가져와야 합니다.

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;
       }

관련 정보