SSRS 2017 разрешения Web.config
Я столкнулся с проблемой с моим менеджером отчетов SSRS 2017. Я реализовал пример, найденный здесь, и все, кажется, работает, кроме как с веб-портала (с сервером все в порядке). Я обнаружил, что решение заключается в том, что пользователь службы должен иметь права на запись в файл web.config, чтобы скопировать машинный ключ из RSReportingServices.config.
Как я могу обойти это? Я попытался вручную записать в web.config, но rshostingservice все еще пытается синхронизировать ключи и не удается.
1 ответ
Решение
Я хочу, чтобы можно было обойтись без разрешения на запись. Я решил свою проблему, предоставив разрешение на запись службе, которая запускает ssrs. Я использовал приведенный ниже код для предоставления необходимых разрешений
try
{
var fileSecurity = File.GetAccessControl(Path);
var user = ServiceUserDetails();
fileSecurity.AddAccessRule(new FileSystemAccessRule(user, FileSystemRights.Write,
AccessControlType.Allow));
fileSecurity.AddAccessRule(new FileSystemAccessRule(user, FileSystemRights.Read,
AccessControlType.Allow));
fileSecurity.AddAccessRule(new FileSystemAccessRule(user, FileSystemRights.ReadAndExecute,
AccessControlType.Allow));
File.SetAccessControl(Path, fileSecurity);
}
catch
{
MessageBox.Show(@"Error",
$@"Unable to set permissions for {Path}. Please ensure service has write permission");
}