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");
        }
Другие вопросы по тегам