Custom Authentication Cookie not returned from Reporting Services 2008 Web Service
Hi,I am creating a security extension for SSRS 2008. In my extension I am authenticating the supplied user credentials against my own web service which passes me back a Forms Authentication Cookie when the credentials authenticate successfully. I want to pass this cookie back to the client when the call to LogonUser is made. I have added the <PassThroughCookies> section into the rsreportserver.config file as stated in this article, but still the cookie is not passed back from the SSRS web service. I tried adding a header to the Response as a test to see if the request was being stripped, but the header came back correctly. Is there something I am missing here or is there a way in which I can pass my own authentication cookie back instead of the one that is auto generated by the SSRS web Service?Thanks in advance,Darren
February 8th, 2010 4:29pm

Hi Darren,Could you please give us a sample? That will help us to understand and solve the issue?Anyway, I would suggest you debug the custom security extension to check if the cookie is correct.Thanks,Jin ChenJin Chen - MSFT
Free Windows Admin Tool Kit Click here and download it now
February 10th, 2010 11:47am

Hi Jin,I've tried debugging the security extension and the cookie is being returned correctly from my web service. I even tried using the tcptrace utility to see if the cookie is being returned, but it appears to get stripped from the reponse before it leaves the Reporting Services web service.The following is my LogonUser function within my class which inherits from IAuthenticationExtension. public bool LogonUser(string userName, string password, string authority) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://machineName/Services/AuthenticationService.svc/AuthenticationService"); request.Headers.Add("SOAPAction", "\"http://asp.net/ApplicationServices/v200/AuthenticationService/Login\""); request.ContentType = "text/xml;charset=utf-8"; request.Method = "POST"; string soap = string.Format(CultureInfo.InvariantCulture, "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><Login xmlns=\"http://asp.net/ApplicationServices/v200\"><username>{0}</username><password>{1}</password><customCredential>{2}</customCredential><isPersistent>true</isPersistent></Login></soap:Body></soap:Envelope>", userName, password, authority); using (Stream stm = request.GetRequestStream()) { using (StreamWriter stmw = new StreamWriter(stm)) { stmw.Write(soap); } } CookieContainer cookies = new CookieContainer(); request.CookieContainer = cookies; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string responseText = ""; using (Stream responseStream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(responseStream)) { responseText = reader.ReadToEnd(); } } if (response.Cookies != null && response.Cookies.Count > 0) { Cookie authCookie = response.Cookies["MyCookie"]; if (authCookie != null) HttpContext.Current.Response.AppendCookie(new HttpCookie("MyCookie", authCookie.Value)); return true; } else return false; } and this is my rsreportserver.config file <Configuration> <Dsn>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAA7Jp+01d30atO9wWdXXDXQQAAAAiAAAAUgBlAHAAbwBy AHQAaQBuAGcAIABTAGUAcgB2AGUAcgAAAANmAADAAAAAEAAAABx3q4Wh/RJjYZ24r32IVx4AAAAA BIAAAKAAAAAQAAAAGmVz/QVt3kDz9Pil/TXRFgABAADxJ4DYNb2EJlvNVQM0mTYYI7tOxBE6nW3l FZMQGjiW+PhvHXlyEOfdDT2hmAb3vW2RkTRQ6FkOkhJGH9RPmpPuAFMA9nBIQF5bDEgkiSz1vZqL L2BY65anmmz0krVJjhj6SdPEvp21i9taycWpvGYRPKp8C3QfAuf6ZZyE+RVpBHnLvhrJxDwGnKTP 39ewQQve8ELM+0ckvJJct7Vdj+0fDCwgiO7pcqG+j73LEbjSU2bRdVYIhJNN1xdcHa7P4fyF+mJD ZlFruHITrMAloluvfp14a32ggpRI+GMBz9A9rxaNc0XBIe7Dv7qhJiP+dPxZGhO02fNq+5WtWkgD ahwLFAAAAL2x32oKKeaMmnHmO1rXTxB8fjvn </Dsn> <ConnectionType>Default</ConnectionType> <LogonUser></LogonUser> <LogonDomain></LogonDomain> <LogonCred></LogonCred> <InstanceId>MSRS10.MSSQLSERVER</InstanceId> <InstallationID>{65896d57-821b-48c4-88e0-5863ec5b01c2}</InstallationID> <Add Key="SecureConnectionLevel" Value="0"/> <Add Key="CleanupCycleMinutes" Value="10"/> <Add Key="SQLCommandTimeoutSeconds" Value="60"/> <Add Key="MaxActiveReqForOneUser" Value="20"/> <Add Key="DatabaseQueryTimeout" Value="120"/> <Add Key="RunningRequestsScavengerCycle" Value="60"/> <Add Key="RunningRequestsDbCycle" Value="60"/> <Add Key="RunningRequestsAge" Value="30"/> <Add Key="MaxScheduleWait" Value="5"/> <Add Key="DisplayErrorLink" Value="true"/> <Add Key="WebServiceUseFileShareStorage" Value="false"/> <!-- <Add Key="ProcessTimeout" Value="150" /> --> <!-- <Add Key="ProcessTimeoutGcExtension" Value="30" /> --> <!-- <Add Key="WatsonFlags" Value="0x0430" /> full dump--> <!-- <Add Key="WatsonFlags" Value="0x0428" /> minidump --> <!-- <Add Key="WatsonFlags" Value="0x0002" /> no dump--> <Add Key="WatsonFlags" Value="0x0428"/> <Add Key="WatsonDumpOnExceptions" Value="Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException,Microsoft.ReportingServices.Modeling.InternalModelingException,Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException"/> <Add Key="WatsonDumpExcludeIfContainsExceptions" Value="System.Threading.ThreadAbortException,System.Web.UI.ViewStateException,System.OutOfMemoryException,System.Web.HttpException,System.IO.IOException,System.IO.FileLoadException"/> <URLReservations> <Application> <Name>ReportServerWebService</Name> <VirtualDirectory>ReportServer</VirtualDirectory> <URLs> <URL> <UrlString>http://+:80</UrlString> <AccountSid>S-1-5-20</AccountSid> <AccountName>NT AUTHORITY\NETWORK SERVICE</AccountName> </URL> </URLs> </Application> <Application> <Name>ReportManager</Name> <VirtualDirectory>Reports</VirtualDirectory> <URLs> <URL> <UrlString>http://+:80</UrlString> <AccountSid>S-1-5-20</AccountSid> <AccountName>NT AUTHORITY\NETWORK SERVICE</AccountName> </URL> </URLs> </Application> </URLReservations> <Authentication> <AuthenticationTypes> <Custom /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication> <Service> <IsSchedulingService>True</IsSchedulingService> <IsNotificationService>True</IsNotificationService> <IsEventService>True</IsEventService> <PollingInterval>10</PollingInterval> <WindowsServiceUseFileShareStorage>False</WindowsServiceUseFileShareStorage> <MemorySafetyMargin>80</MemorySafetyMargin> <MemoryThreshold>90</MemoryThreshold> <RecycleTime>720</RecycleTime> <MaxAppDomainUnloadTime>30</MaxAppDomainUnloadTime> <MaxQueueThreads>0</MaxQueueThreads> <UrlRoot> </UrlRoot> <UnattendedExecutionAccount> <UserName></UserName> <Password></Password> <Domain></Domain> </UnattendedExecutionAccount> <PolicyLevel>rssrvpolicy.config</PolicyLevel> <IsWebServiceEnabled>True</IsWebServiceEnabled> <IsReportManagerEnabled>True</IsReportManagerEnabled> <FileShareStorageLocation> <Path> </Path> </FileShareStorageLocation> </Service> <UI> <CustomAuthenticationUI> <loginUrl>/Pages/UILogon.aspx</loginUrl> <UseSSL>False</UseSSL> <PassThroughCookies> <PassThroughCookie>MyCookie</PassThroughCookie> </PassThroughCookies> </CustomAuthenticationUI> <ReportServerUrl>http://localhost/ReportServer</ReportServerUrl> </UI> <Extensions> <Delivery> <Extension Name="Report Server FileShare" Type="Microsoft.ReportingServices.FileShareDeliveryProvider.FileShareProvider,ReportingServicesFileShareDeliveryProvider"> <MaxRetries>3</MaxRetries> <SecondsBeforeRetry>900</SecondsBeforeRetry> <Configuration> <FileShareConfiguration> <ExcludedRenderFormats> <RenderingExtension>HTMLOWC</RenderingExtension> <RenderingExtension>NULL</RenderingExtension> <RenderingExtension>RGDI</RenderingExtension> </ExcludedRenderFormats> </FileShareConfiguration> </Configuration> </Extension> <Extension Name="Report Server Email" Type="Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider,ReportingServicesEmailDeliveryProvider"> <MaxRetries>3</MaxRetries> <SecondsBeforeRetry>900</SecondsBeforeRetry> <Configuration> <RSEmailDPConfiguration> <SMTPServer></SMTPServer> <SMTPServerPort> </SMTPServerPort> <SMTPAccountName> </SMTPAccountName> <SMTPConnectionTimeout> </SMTPConnectionTimeout> <SMTPServerPickupDirectory> </SMTPServerPickupDirectory> <SMTPUseSSL> </SMTPUseSSL> <SendUsing>2</SendUsing> <SMTPAuthenticate> </SMTPAuthenticate> <From></From> <EmbeddedRenderFormats> <RenderingExtension>MHTML</RenderingExtension> </EmbeddedRenderFormats> <PrivilegedUserRenderFormats> </PrivilegedUserRenderFormats> <ExcludedRenderFormats> <RenderingExtension>HTMLOWC</RenderingExtension> <RenderingExtension>NULL</RenderingExtension> <RenderingExtension>RGDI</RenderingExtension> </ExcludedRenderFormats> <SendEmailToUserAlias>True</SendEmailToUserAlias> <DefaultHostName> </DefaultHostName> <PermittedHosts> </PermittedHosts> </RSEmailDPConfiguration> </Configuration> </Extension> <Extension Name="Report Server DocumentLibrary" Type="Microsoft.ReportingServices.SharePoint.SharePointDeliveryExtension.DocumentLibraryProvider,ReportingServicesSharePointDeliveryExtension"> <MaxRetries>3</MaxRetries> <SecondsBeforeRetry>900</SecondsBeforeRetry> <Configuration> <DocumentLibraryConfiguration> <ExcludedRenderFormats> <RenderingExtension>HTMLOWC</RenderingExtension> <RenderingExtension>NULL</RenderingExtension> <RenderingExtension>RGDI</RenderingExtension> </ExcludedRenderFormats> </DocumentLibraryConfiguration> </Configuration> </Extension> <Extension Name="NULL" Type="Microsoft.ReportingServices.NullDeliveryProvider.NullProvider,ReportingServicesNullDeliveryProvider"/> </Delivery> <DeliveryUI> <Extension Name="Report Server Email" Type="Microsoft.ReportingServices.EmailDeliveryProvider.EmailDeliveryProviderControl,ReportingServicesEmailDeliveryProvider"> <DefaultDeliveryExtension>True</DefaultDeliveryExtension> <Configuration> <RSEmailDPConfiguration> <DefaultRenderingExtension>MHTML</DefaultRenderingExtension> </RSEmailDPConfiguration> </Configuration> </Extension> <Extension Name="Report Server FileShare" Type="Microsoft.ReportingServices.FileShareDeliveryProvider.FileShareUIControl,ReportingServicesFileShareDeliveryProvider"/> </DeliveryUI> <Render> <Extension Name="XML" Type="Microsoft.ReportingServices.Rendering.DataRenderer.XmlDataReport,Microsoft.ReportingServices.DataRendering"/> <Extension Name="NULL" Type="Microsoft.ReportingServices.Rendering.NullRenderer.NullReport,Microsoft.ReportingServices.NullRendering" Visible="false"/> <Extension Name="CSV" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering"/> <Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer,Microsoft.ReportingServices.ImageRendering"/> <Extension Name="RGDI" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.RGDIRenderer,Microsoft.ReportingServices.ImageRendering" Visible="false"/> <Extension Name="HTML4.0" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.Html40RenderingExtension,Microsoft.ReportingServices.HtmlRendering" Visible="false"/> <Extension Name="MHTML" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.MHtmlRenderingExtension,Microsoft.ReportingServices.HtmlRendering"/> <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering"/> <Extension Name="RPL" Type="Microsoft.ReportingServices.Rendering.RPLRendering.RPLRenderer,Microsoft.ReportingServices.RPLRendering" Visible="false" LogAllExecutionRequests="false"/> <Extension Name="IMAGE" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering"/> <Extension Name="WORD" Type="Microsoft.ReportingServices.Rendering.WordRenderer.WordDocumentRenderer,Microsoft.ReportingServices.WordRendering"/> </Render> <Data> <Extension Name="SQL" Type="Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapper,Microsoft.ReportingServices.DataExtensions"/> <Extension Name="OLEDB" Type="Microsoft.ReportingServices.DataExtensions.OleDbConnectionWrapper,Microsoft.ReportingServices.DataExtensions"/> <Extension Name="OLEDB-MD" Type="Microsoft.ReportingServices.DataExtensions.AdoMdConnection,Microsoft.ReportingServices.DataExtensions"/> <Extension Name="ORACLE" Type="Microsoft.ReportingServices.DataExtensions.OracleClientConnectionWrapper,Microsoft.ReportingServices.DataExtensions"/> <Extension Name="ODBC" Type="Microsoft.ReportingServices.DataExtensions.OdbcConnectionWrapper,Microsoft.ReportingServices.DataExtensions"/> <Extension Name="XML" Type="Microsoft.ReportingServices.DataExtensions.XmlDPConnection,Microsoft.ReportingServices.DataExtensions"/> <Extension Name="SAPBW" Type="Microsoft.ReportingServices.DataExtensions.SapBw.SapBwConnection,Microsoft.ReportingServices.DataExtensions.SapBw"/> <Extension Name="ESSBASE" Type="Microsoft.ReportingServices.DataExtensions.Essbase.EssbaseConnection,Microsoft.ReportingServices.DataExtensions.Essbase"/> <Extension Name="TERADATA" Type="Microsoft.ReportingServices.DataExtensions.TeradataConnectionWrapper,Microsoft.ReportingServices.DataExtensions"/> <!-- <Extension Name="SSIS" Type="Microsoft.SqlServer.Dts.DtsClient.DtsConnection,Microsoft.SqlServer.Dts.DtsClient, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> --> </Data> <SemanticQuery> <Extension Name="SQL" Type="Microsoft.ReportingServices.SemanticQueryEngine.Sql.MSSQL.MSSqlSQCommand,Microsoft.ReportingServices.SemanticQueryEngine"> <Configuration> <EnableMathOpCasting>False</EnableMathOpCasting> </Configuration> </Extension> <Extension Name="ORACLE" Type="Microsoft.ReportingServices.SemanticQueryEngine.Sql.Oracle.OraSqlSQCommand,Microsoft.ReportingServices.SemanticQueryEngine"> <Configuration> <EnableMathOpCasting>True</EnableMathOpCasting> <DisableNO_MERGEInLeftOuters>False</DisableNO_MERGEInLeftOuters> <EnableUnistr>False</EnableUnistr> <DisableTSTruncation>False</DisableTSTruncation> </Configuration> </Extension> <Extension Name="TERADATA" Type="Microsoft.ReportingServices.SemanticQueryEngine.Sql.Teradata.TdSqlSQCommand,Microsoft.ReportingServices.SemanticQueryEngine"> <Configuration> <EnableMathOpCasting>True</EnableMathOpCasting> <ReplaceFunctionName>oREPLACE</ReplaceFunctionName> </Configuration> </Extension> <Extension Name="OLEDB-MD" Type="Microsoft.AnalysisServices.Modeling.QueryExecution.ASSemanticQueryCommand,Microsoft.AnalysisServices.Modeling"/> </SemanticQuery> <ModelGeneration> <Extension Name="SQL" Type="Microsoft.ReportingServices.SemanticQueryEngine.Sql.MSSQL.MsSqlModelGenerator,Microsoft.ReportingServices.SemanticQueryEngine"/> <Extension Name="ORACLE" Type="Microsoft.ReportingServices.SemanticQueryEngine.Sql.Oracle.OraSqlModelGenerator,Microsoft.ReportingServices.SemanticQueryEngine"/> <Extension Name="TERADATA" Type="Microsoft.ReportingServices.SemanticQueryEngine.Sql.Teradata.TdSqlModelGenerator,Microsoft.ReportingServices.SemanticQueryEngine"/> <Extension Name="OLEDB-MD" Type="Microsoft.AnalysisServices.Modeling.Generation.ModelGeneratorExtention,Microsoft.AnalysisServices.Modeling"/> </ModelGeneration> <Security> <Extension Name="Forms" Type="Platypus.ReportingServices.Security.Authorization, Platypus.ReportingServices.Security"> <Configuration> <AdminConfiguration> <UserName>bob</UserName> </AdminConfiguration> </Configuration> </Extension> <!--<Extension Name="Windows" Type="Microsoft.ReportingServices.Authorization.WindowsAuthorization, Microsoft.ReportingServices.Authorization"/>--> </Security> <Authentication> <Extension Name="Forms" Type="Platypus.ReportingServices.Security.AuthenticationExtension, Platypus.ReportingServices.Security" /> <!--<Extension Name="Windows" Type="Microsoft.ReportingServices.Authentication.WindowsAuthentication, Microsoft.ReportingServices.Authorization"/>--> </Authentication> <EventProcessing> <Extension Name="SnapShot Extension" Type="Microsoft.ReportingServices.Library.HistorySnapShotCreatedHandler,ReportingServicesLibrary"> <Event> <Type>ReportHistorySnapshotCreated</Type> </Event> </Extension> <Extension Name="Timed Subscription Extension" Type="Microsoft.ReportingServices.Library.TimedSubscriptionHandler,ReportingServicesLibrary"> <Event> <Type>TimedSubscription</Type> </Event> </Extension> <Extension Name="Cache Update Extension" Type="Microsoft.ReportingServices.Library.ReportExecutionSnapshotUpdateEventHandler,ReportingServicesLibrary"> <Event> <Type>SnapshotUpdated</Type> </Event> </Extension> </EventProcessing> </Extensions> </Configuration> Any help is much appreciated.Thanks,Darren
February 10th, 2010 3:12pm

Hi Guys I am also haviong this problem - has anyone found an answer to this yet? Regards Adam Perkins www.flexss.co.uk
Free Windows Admin Tool Kit Click here and download it now
July 19th, 2010 2:34pm

Since you are using a custom authication extension, have you've set your Report Server to Forms Authentication? If yes, you should also configure the Web.Config to pass the credentials to a specific cookie, i.e.: <authentication mode="Forms"> <forms loginUrl="logon.aspx" name="sqlAuthCookie" timeout="60" path="/"></forms> </authentication> M. Streutker, Info Support | Blog
July 19th, 2010 5:08pm

I have set the report server to use forms authentication and have given the forms cookie a name. That cookie is passed back successfully. What I'm trying to do is pass back a cookie which I have got from a service external to reporting services, this is the cookie that never gets passed through even though I add it to the response stream
Free Windows Admin Tool Kit Click here and download it now
July 20th, 2010 12:37pm

Let's make sure if I understand you correctly; You state that the forms authentication cookie is passed back successfully. This cookie indicated whether you're succesfully authenticated or not. The 'authentication-check' is handled by the LogonUser method, which (in your implementation) consists out of a external webservice call. This external webservice call yields a cookie, that you want to pass back to the client? May I ask why you want to pass this cookie back? If you check the returnvalue of the external webservice in your LogonUser implementation, you can decide to return 'true' or 'false'. This way, having your forms-authentication cookie (the one thats already working) is sufficient to determine if the login was successful. M. Streutker, Info Support | Blog
July 30th, 2010 12:42pm

Yes, that is exactly what I want to do. I need to do this because I am using my own security model to determine what access a user has when a call to CheckAccess is made. At this point I need to contact the external web service to do this authorization. As the external web service requires authentication and I need to pass it a cookie. I want the cookie for the external web service to be passed back from LogonUser so that when subsequent calls to the reporting services web service are made that cookie can be passed back in and I can use it when calling the external web service.
Free Windows Admin Tool Kit Click here and download it now
July 30th, 2010 3:26pm

Thank you for your clarification. I have taken a look at the way you relay the cookie to the client and have compared that to the default sample of relaying cookies back to the client. Could you try to use the procedure below instead of just adding the Cookie to the HttpContext.Current.Response? public static void RelayCookieToClient(Cookie cookie) { if (HttpContext.Current != null) { // add the cookie if not already in there if (HttpContext.Current.Response.Cookies[cookie.Name] != null) { HttpContext.Current.Response.Cookies.Remove(cookie.Name); } HttpCookie httpcookie = TranslateCookie(cookie); // httpcookie.Domain = null; // You can play with these settings. // httpcookie.Path = "/"; HttpContext.Current.Response.SetCookie(httpcookie); } } private static HttpCookie TranslateCookie(Cookie netCookie) { if (netCookie == null) return null; HttpCookie webCookie = new HttpCookie(netCookie.Name, netCookie.Value); // Add domain only if it is dotted - IE doesn't send back the cookie // if we set the domain otherwise if (netCookie.Domain.IndexOf('.') != -1) webCookie.Domain = netCookie.Domain; webCookie.Expires = netCookie.Expires; webCookie.Path = netCookie.Path; webCookie.Secure = netCookie.Secure; return webCookie; } M. Streutker, Info Support | Blog
July 30th, 2010 4:20pm

Hi People I already had the cookie name setup, the cookie passing (as far as I can tell) and also checked the code and it's identical to the suggestion above but still I am having no sucess. I keep gettign the error... Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. The request failed with the error message: -- SQL Server Reporting Services Reporting Services Error The report server has encountered a configuration error. (rsServerConfigurationError) Get Online Help SQL Server Reporting Services --. Please help Regards Adam Perkins www.flexiblesoftwaresolutions.co.uk
Free Windows Admin Tool Kit Click here and download it now
August 2nd, 2010 5:47pm

I too get this error, specifically: on the "server.LogonUser(TxtUser.Text, TxtPwd.Text, "");" line from the MSDN sample code below. The username and password are passed through correctly. I get the same error with valid and invalid credentials. I have tried for a couple of days to get an answer and so far I have found the same exception text posted several times, but not in relation to this sample (and this line of code). Does anyone have a check list to go through to resolve this problem? I am stuck, please help!! The only clue I have is if I edit the UILogin.aspx.cs GetWebResponse method, by adding the following prior to the return statement, I can read the HTML returned and know that it is "a configuration error" - see below: // -- code to get debug info added to GetWebResponse #if DEBUG if (cookieName == null) { // Read the text from the response stream. using (System.IO.StreamReader r = new System.IO.StreamReader(response.GetResponseStream())) { System.Diagnostics. Debug.Write(r.ReadToEnd()); } } #endif The Debug is a load of HTML, the import line points to a configuration error - the link though has no supporting resolution text: <li>The report server has encountered a configuration error. (rsServerConfigurationError) <a href="http://go.microsoft.com/fwlink/?LinkId=20476&EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&EvtID=rsServerConfigurationError&ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&ProdVer=10.0.2531.0" target="_blank">Get Online Help</a></li> // -- code from the sample the server.LogonUser is at the level that catches the exception. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")] private void BtnLogon_Click(object sender, System.EventArgs e) { bool passwordVerified = false; try { ReportServerProxy server = new ReportServerProxy(); string reportServer = ConfigurationManager.AppSettings["ReportServer"]; string instanceName = ConfigurationManager.AppSettings["ReportServerInstance"]; // Get the server URL from the report server using WMI server.Url = AuthenticationUtilities.GetReportServerUrl(reportServer, instanceName); server.LogonUser(TxtUser.Text, TxtPwd.Text, null); passwordVerified = true; }
August 3rd, 2010 3:05pm

Hi, I've finally got around to trying the changes you suggested. This is working when using Report Manager, however when using report builder it never sends the cookie back on subsequent calls to the service. Is there some setting specific to report builder that I can set to achieve this? Cheers, Darren
Free Windows Admin Tool Kit Click here and download it now
February 11th, 2011 11:52am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics