Link to home
Start Free TrialLog in
Avatar of rcowen00
rcowen00Flag for United States of America

asked on

RDLC Run from application is asking for Windows log in credentials

I have set the unattended access, but when I attempt to run the report remotely I am getting prompted for the Windows log in.   What have I missed?
Avatar of Vitor Montalvão
Vitor Montalvão
Flag of Switzerland image

From the lack of information I can only guess that you are running with an user without the necessary permissions.
Avatar of rcowen00

ASKER

What details can I give you that would help you to assist me?  Sorry, I have been turned all around with this problem and have no idea what you need.  Thank you.
Can you post a screenshot?
And how it's configured the connection to the database?
The application has a connection string saved in the web.config.  The report uses a shared data source that holds the database connection information.  I call the report from the code behind using this and render it is pdf

 
    Protected Sub btnRun_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRun.Click

        Response.Redirect("http://xxxxx/ReportServer/Pages/ReportViewer.aspx?%2fPOSReports%2fWeeklyGrossDetail&rs:Command=Render&rs:Format=PDF&Begin=" & txbgn.Text & "&End=" & txend.Text & " ")
    End Sub
   

Open in new window


Up until recently, I was using a report viewer control to view the report in the application to view/print the report.  The report viewer control  used this as the ReportServerUrl="http://localhost:80/reportserver".  Since the report viewer doesn't have all functionality when  used in non IE browsers, we needed a better solution.   When that change was made is when I started being asked for the Windows credentials when running the reports.  User generated imageUser generated imageUser generated imageUser generated image  

Yesterday I added the following class to push the windows credentials, but I am not sure how to implement, if that is even my problem.

Imports Microsoft.VisualBasic
Imports Microsoft.Reporting.WebForms
Imports System.Net

Public Class ReportServerCredentials

    Implements IReportServerCredentials

    Private _userName As String
    Private _password As String
    Private _domain As String

    Public Sub New(ByVal userName As String, ByVal password As String, ByVal domain As String)
        _userName = userName
        _password = password
        _domain = domain
    End Sub

    Public ReadOnly Property ImpersonationUser() As System.Security.Principal.WindowsIdentity Implements Microsoft.Reporting.WebForms.IReportServerCredentials.ImpersonationUser
        Get
            Return Nothing
        End Get
    End Property

    Public ReadOnly Property NetworkCredentials() As ICredentials Implements Microsoft.Reporting.WebForms.IReportServerCredentials.NetworkCredentials
        Get
            Return New NetworkCredential(_userName, _password, _domain)
        End Get
    End Property

    Public Function GetFormsCredentials(ByRef authCookie As System.Net.Cookie, ByRef userName As String, ByRef password As String, ByRef authority As String) As Boolean Implements Microsoft.Reporting.WebForms.IReportServerCredentials.GetFormsCredentials
        userName = _userName
        password = _password
        authority = _domain
        Return Nothing
    End Function
End Class

Open in new window

Avoid using Network Service since it has very few privileges. I recommend you to change it to Local System account.
I changed to Local System and the users are still being asked for windows login for the server.
The SQL Server is in the same machine of SSRS?
yes
Then check if Local System has permission on SQL Server.
Also check Windows Event Log and MSSQL logs for errors.
If I have the identity impersonate set to true shouldn't the application be running under that identity?  

<identity impersonate="true"  userName="xxxx" password="xxxx"/>
            <httpHandlers>
ASKER CERTIFIED SOLUTION
Avatar of Vitor Montalvão
Vitor Montalvão
Flag of Switzerland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Issue was never resolved, but I gave the reason for that myself.