Ошибка 403 после удаления разрешений для пользователя службы
Я не уверен, что это правильное место для вопроса.
Я получил Windows Server 2016 с IIS 10. У нас есть приложение, разработанное для.net, развернутое здесь. Приложение использует службу отчетов другого сервера в той же сети через средство просмотра отчетов.
<rsweb:ReportViewer id="rvwAnexoTransaccional" runat="server" InternalBorderColor="White"
BorderColor="White" BackColor="White" ShowRefreshButton="False" ShowPromptAreaButton="False"
ShowPrintButton="False" ShowParameterPrompts="False" Height="1903px" Width="1004px"
ProcessingMode="Remote">
</rsweb:ReportViewer>
На.cs отчет обновляется следующим образом:
System.Configuration.ConnectionStringSettingsCollection rootWebConfig = System.Web.Configuration.WebConfigurationManager.ConnectionStrings;
string strCadenaCon = rootWebConfig["ReportServer"].ConnectionString.ToString();
Uri reportUrl = new Uri(strCadenaCon.ToString());
rvwAnexoTransaccional.ServerReport.ReportServerUrl = reportUrl;
rvwAnexoTransaccional.ServerReport.ReportPath = new Parametros_BusinessLogic().ReportProject + "AnexoTransaccional";
rvwAnexoTransaccional.ServerReport.SetParameters(parameters);
rvwAnexoTransaccional.ServerReport.Refresh();
С сервером разработки с теми же характеристиками у нас нет проблем. Однако на рабочем сервере тот же пользователь, который настроен для вызова этой службы отчетов, получил свои разрешения на диске C:. В любом случае inetpub находится на диске D, и все временные файлы из приложения также находятся на диске D. Сначала это не было проблемой, потому что мы некоторое время использовали отчеты по приложениям, но потом мы начали получать следующую ошибку:
----------------------------------------
----------------------------------------
HandlingInstanceID: 29b0c977-b11a-4c81-9e3c-311e77c0af17
An exception of type 'System.Net.WebException' occurred and was caught.
-----------------------------------------------------------------------
05/22/2019 12:58:33
Type : System.Net.WebException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : The remote server returned an error: (403) Forbidden.
Source : System
Help link :
Status : ProtocolError
Response : System.Net.HttpWebResponse
Data : System.Collections.ListDictionaryInternal
TargetSite : System.IO.Stream GetRequestStream(System.Net.TransportContext ByRef)
HResult : -2146233079
Stack Trace : at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.ReportExecutionService.ListSecureMethods()
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.SetConnectionSSLForMethod(String methodname)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.ProxyMethodInvocation.Execute[TReturn](RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod)
at Microsoft.Reporting.WebForms.ServerReport.EnsureExecutionSession()
at Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1 parameters)
at Reportes_AuditoriaTransaccional.imbBuscar_Click(Object sender, ImageClickEventArgs e)
at System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e)
at System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Additional Info:
MachineName : USQASWSPC000160
TimeStamp : 22/5/2019 16:58:33
FullName : Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
AppDomainName : /LM/W3SVC/1/ROOT/SCF2-6-132029525861419819
ThreadIdentity : scfec
WindowsIdentity : IIS APPPOOL\DefaultAppPool
Эта ошибка 403 возникает только при обращении к службе отчетов через reportViewer. Мы можем получить доступ к конфигурации службы отчетов или по URL. Также приложение все еще работает, и мы получили доступ к серверу базы данных (где находится служба отчетности). Также, если мы изменим web.config (любое изменение) или перезапустим IIS, reportViewer снова будет работать для нескольких запросов (возможно, 3 или 4 отчетов), а затем мы снова получим ошибку 403 запрещенная.
Как я уже говорил, у нас нет этой проблемы на сервере разработки, который использует ту же службу отчетов на том же сервере. Таким образом, мы можем указать, что это конфигурация пользователя, однако мне нужно указать, какие файлы или разрешения требуются, чтобы они могли дать мне достаточно разрешений.
Какие локальные файлы доступны по запросу в службу отчетов? Я ищу правильное решение для этого?
Спасибо за любую помощь.