Скачать отчет Crystal, чтобы разделить путь с использованием определенных учетных данных
Я работаю над ЭПР, где мне нужно создать и загрузить отчет crystal в формате pdf в общей папке "\\org\erp_tst" .Но он прекрасно работает в локальном(IIS) .Но когда я переношу всю разработку в dev, она появляется с исключением .
Я проверил безопасность папки erp_tst, и она говорит, что только 4-6 получают доступ к записи здесь.
Я хочу использовать shareusername ,sharepassword для конкретной операции. Попробовал кое - что из этого, но не сработало в dev. Это у вас есть какие-то идеи, пожалуйста, поделитесь .
Ошибка на Dev:-
rror downloading the fileSystem.UnauthorizedAccessException: Access to the path '\\org\erp_tst\mypay.pdf' is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode) at CrystalDecisions.CrystalReports.Engine.FormatEngine.WriteStreamToFile(Stream stream, String filename) at CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportStreamToFile(Stream stream, DiskFileDestinationOptions options) at CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext) at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToDisk(ExportFormatType formatType, String fileName) at EFS.arbitration.b_printpdf_click(Object sender, EventArgs e)
Что я уже пробовал:
string shareuser = "user1"; // share user name string sharepass = "My444"; //share password rptArb1.SetDatabaseLogon(shareuser, sharepass);
rptArb1.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"share path" + OutputFileName);
F-ES Sitecore
Вам нужно будет изменить учетную запись, под которой IIS выполняет ваш код, на ту, которая может получить доступ к общему ресурсу. Google для того, чтобы изменить анонимную учетную запись IIS, она варьируется в зависимости от вашей версии IIS.
SRoy_5
спасибо за ответ! но приложение работает в Windows server 2012, и у меня нет прав на его изменение.
Кроме того, я хочу использовать общий идентификатор пользователя и пароль для обеспечения безопасности. Есть ли какой-нибудь способ использовать конкретные учетные данные shareuser, потому что путь к общему ресурсу является внутренним?
F-ES Sitecore
Он настроен таким образом по соображениям безопасности, поэтому вы не загружаете код на сервер, который затем удаленно обращается к другим машинам. Я сомневаюсь, что вы получите код, который у вас сейчас работает, не меняя пользователя IIS. Потенциальным решением может быть олицетворение действительного пользователя, имеющего доступ программно, а не через IIS config. Попробуйте что-то вроде приведенного ниже
https://support.microsoft.com/en-us/help/306158/how-to-implement-impersonation-in-an-asp-net-application
SRoy_5
спасибо Ф-Эс компания! позвольте мне попробовать олицетворение в моем EFS.