Произошла ошибка при попытке сохранить поставщика

Я пытаюсь прочитать закрытый ключ сертификата, который был предоставлен мне сторонним поставщиком услуг, поэтому я могу использовать его для шифрования некоторого XML перед отправкой ему по сети. Я делаю это программно на С#, но я думаю, что это проблема с разрешениями или неправильной настройкой, поэтому я сосредоточусь на фактах, которые кажутся наиболее важными:

  • Я не думаю, что эта проблема связана с кодом; мой код работает на других компьютерах, и проблема касается образца кода от Microsoft.
  • Сертификат был предоставлен в виде файла PFX и предназначен только для целей тестирования, поэтому он также включает фиктивный центр сертификации.
  • Используя MMC.exe, я могу импортировать сертификат в личное хранилище для локального компьютера, прежде чем предоставлять разрешения на закрытый ключ всем соответствующим учетным записям и перетаскивать центр сертификации в доверенные корневые центры сертификации.
  • Используя C#, я могу загрузить сертификат (идентифицированный по его отпечатку) и убедиться, что у него есть закрытый ключ, используя X509Certificate2.HasPrivateKey. Однако попытка прочитать ключ вызывает ошибку. В .NET выдается CryptographicException с сообщением «Указан неверный тип поставщика» при попытке доступа к свойству X509Certificate2.PrivateKey. В Win32 вызов метода CryptAcquireCertificatePrivateKey возвращает эквивалентный результат HRESULT, NTE_BAD_PROV_TYPE.
  • Это то же самое исключение, которое также возникает при использовании двух собственных примеров кода Microsoft для чтения закрытого ключа сертификата.
  • Установка того же сертификата в эквивалентном хранилище для текущего пользователя вместо локального компьютера позволяет успешно загрузить закрытый ключ.
  • У меня Windows 8.1 с правами локального администратора, и я пробовал запускать свой код как в обычном, так и в повышенном режимах. Коллеги на Windows 7 и Windows 8 смогли загрузить ключ из хранилища локального компьютера для того же сертификата.
  • Я могу успешно прочитать закрытый ключ самозаверяющего тестового сертификата IIS, который находится в том же месте хранилища.
  • Я уже ориентируюсь на .NET 4.5 (об этой ошибке сообщалось в некоторых более старых версиях платформы).
  • Я не думаю, что это проблема с шаблонами сертификатов, потому что я ожидаю, что это одинаково повлияет как на локальный компьютер, так и на хранилища текущего пользователя?

В отличие от моих коллег, я предпринял несколько предыдущих попыток удалить и переустановить сертификат различными способами, в том числе с помощью диспетчера IIS, а также с использованием более старого сертификата того же эмитента. Я не вижу следов старых или повторяющихся сертификатов в MMC. Однако у меня есть много файлов закрытых ключей одинакового размера, которые, судя по времени последней записи, должны были быть оставлены после моих различных попыток установки. Они находятся в следующих местах для локального компьютера и текущих пользовательских хранилищ соответственно:

C:ProgramDataMicrosoftCryptoRSAMachineKeys

C:UsersAppDataRoamingMicrosoftCryptoRSAS-1-5-21-[остальный идентификатор пользователя]

Итак, может ли кто-нибудь посоветовать:

  • Это хорошая идея удалить сертификат с помощью MMC, удалить все те файлы, которые выглядят как потерянные закрытые ключи, а затем переустановить сертификат и повторить попытку?
  • Есть ли другие файлы, которые я должен попытаться удалить вручную?
  • Есть что-нибудь еще, что я должен попробовать?

ОБНОВЛЕНИЕ. Добавлен пример кода, показывающий попытку чтения закрытого ключа:

static void Main()
{
    // Exception occurs when trying to read the private key after loading certificate from here:
    X509Store store = new X509Store("MY", StoreLocation.LocalMachine);
    // Exception does not occur if certificate was installed to, and loaded from, here:
    //X509Store store = new X509Store("MY", StoreLocation.CurrentUser);

    store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

    X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
    X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
    X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select", "Select a certificate from the following list to get information on that certificate", X509SelectionFlag.MultiSelection);
    Console.WriteLine("Number of certificates: {0}{1}", scollection.Count, Environment.NewLine);

    foreach (X509Certificate2 x509 in scollection)
    {
        try
        {
            Console.WriteLine("Private Key: {0}", x509.HasPrivateKey ? x509.PrivateKey.ToXmlString(false) : "[N/A]");
            x509.Reset();
        }
        catch (CryptographicException ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
    store.Close();

    Console.ReadLine();
}

20 ответов

У меня была такая же проблема в Windows 8 и Server 2012/2012 R2 с двумя новыми сертификатами, которые я недавно получил. В Windows 10 проблема больше не возникает (но мне это не помогает, так как код, управляющий сертификатом, используется на сервере). Хотя решение Джо Строммена в принципе работает, другая модель закрытого ключа потребует значительных изменений в коде, использующем сертификаты. Я считаю, что лучшим решением является преобразование закрытого ключа из CNG в RSA, как объяснил Реми Блок здесь.

Remy использует OpenSSL и два старых инструмента для преобразования закрытого ключа, мы хотели автоматизировать его и разработали решение только для OpenSSL. Учитывая MYCERT.pfx с паролем закрытого ключа MYPWD в формате CNG, выполните следующие действия для получения нового CONVERTED.pfx с закрытым ключом в формате RSA и тем же паролем:

  1. Извлечь открытые ключи, полную цепочку сертификатов:
OpenSSL pkcs12 -in "MYCERT.pfx" -nokeys -out "MYCERT.cer" -passin "pass:MYPWD"
  1. Извлечь закрытый ключ:
OpenSSL pkcs12 -in "MYCERT.pfx" -nocerts -out "MYCERT.pem" -passin "pass:MYPWD" -passout "pass:MYPWD"
  1. Преобразование закрытого ключа в формат RSA:
OpenSSL rsa -inform PEM -in "MYCERT.pem" -out "MYCERT.rsa" -passin "pass:MYPWD" -passout "pass:MYPWD"
  1. Объедините открытые ключи с закрытым ключом RSA в новый PFX:
OpenSSL pkcs12 -export -in "MYCERT.cer" -inkey "MYCERT.rsa" -out "CONVERTED.pfx" -passin "pass:MYPWD" -passout "pass:MYPWD"

Если вы загрузите преобразованный pfx или импортируете его в хранилище сертификатов Windows вместо pfx формата CNG, проблема исчезнет, ​​и код C# не нужно будет изменять.

Еще одна проблема, с которой я столкнулся при автоматизации: мы используем длинные сгенерированные пароли для закрытого ключа, и пароль может содержать ". Для командной строки OpenSSL символы " внутри пароля должны быть экранированы как "".


46

JLRishe
11 Май 2021 в 20:34

В моем случае я пытался использовать самозаверяющий сертификат с командой PowerShell New-SelfSignedCertificate. По умолчанию он будет генерировать сертификат с использованием API CNG (Crypto-Next Generation) вместо старого/классического криптографического CAPI. Некоторые старые фрагменты кода будут иметь проблемы с этим; в моем случае это была более старая версия провайдера IdentityServer STS.

Добавив это в конец моей команды New-SelfSignedCertificate, я решил проблему:

-KeySpec Обмен ключами

Ссылка на переключатель для команды powershell:

https://docs.microsoft.com/en-us/powershell/module/pkiclient/new-selfsignedcertificate?view=win10-ps


30

enablor
22 Апр 2019 в 23:18

Вот еще одна причина, по которой это может произойти, это была странная проблема, и после дня борьбы я решил проблему. В качестве эксперимента я изменил разрешение для папки «C:ProgramDataMicrosoftCryptoRSAMachineKeys», в которой хранятся данные закрытого ключа для сертификатов, использующих хранилище машинных ключей. Когда вы меняете разрешение для этой папки, все закрытые ключи отображаются как «поставщик Microsoft Software KSP», который не является поставщиком (в моем случае они должны быть «поставщиком криптографии Microsoft RSA Schannel»).

Решение. Сбросьте права доступа к папке Machinekeys.

Исходное разрешение для этой папки можно найти здесь. В моем случае я изменил разрешение на «Все», дал разрешения на чтение, где он снял галочку «Особые разрешения». Поэтому я проверил с одним из членов моей команды (щелкните правой кнопкой мыши папку> Свойства> Безопасность> Дополнительно> выберите «Все»> Изменить> Нажмите «Дополнительные настройки» в списке флажков разрешений.

Special permissions

Надеюсь, это спасет чей-то день!

Здесь я нашел ответ источник, ему принадлежит заслуга документирование этого.


15

Dhanuka777
12 Янв 2017 в 02:56

В моем случае следующий код отлично работал на локальном хосте (как NET 3.5, так и NET 4.7):

 var certificate = new X509Certificate2(certificateBytes, password);

 string xml = "....";
 XmlDocument xmlDocument = new XmlDocument();
 xmlDocument.PreserveWhitespace = true;
 xmlDocument.LoadXml(xml);

 SignedXml signedXml = new SignedXml(xmlDocument);
 signedXml.SigningKey = certificate.PrivateKey;

 //etc...

Но произошел сбой при развертывании в веб-приложении Azure в certificate.PrivateKey.

Это сработало, изменив код следующим образом:

 var certificate = new X509Certificate2(certificateBytes, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
                                                                   //^ Here
 string xml = "....";
 XmlDocument xmlDocument = new XmlDocument();
 xmlDocument.PreserveWhitespace = true;
 xmlDocument.LoadXml(xml);

 SignedXml signedXml = new SignedXml(xmlDocument);
 signedXml.SigningKey = certificate.GetRSAPrivateKey();
                                      // ^ Here too

 //etc...

Целый день работы, потерянный благодаря Microsoft Azure, еще раз в моей жизни.


13

sports
26 Мар 2019 в 00:42

Ссылка на Блог Алехандро является ключевым.

Я считаю, что это связано с тем, что сертификат хранится на вашем компьютере с API CNG («Crypto Next-Generation»). Старый .NET API несовместим с ним, поэтому он не работает.

Для этого API можно использовать оболочку Security.Cryptography (доступно на Codeplex). Это добавляет методы расширения к X509Certificate/X509Certificate2, поэтому ваш код будет выглядеть примерно так:

using Security.Cryptography.X509Certificates; // Get extension methods

X509Certificate cert; // Populate from somewhere else...
if (cert.HasCngKey())
{
    var privateKey = cert.GetCngPrivateKey();
}
else
{
    var privateKey = cert.PrivateKey;
}

К сожалению, объектная модель закрытых ключей CNG немного отличается. Я не уверен, что вы можете экспортировать их в XML, как в исходном примере кода… в моем случае мне просто нужно было подписать некоторые данные закрытым ключом.


10

Joe Strommen
11 Июл 2015 в 00:41

Как указывалось во многих других ответах, эта проблема возникает, когда закрытый ключ представляет собой ключ Windows Cryptography: Next Generation (CNG) вместо «классического» ключа Windows Cryptographic API (CAPI).

Начиная с .NET Framework 4.6 доступ к закрытому ключу (при условии, что это ключ RSA) можно получить с помощью метода расширения на X509Certificate2: cert.GetRSAPrivateKey().

Когда закрытый ключ хранится в CNG, метод расширения GetRSAPrivateKey вернет объект RSACng (новое для платформы в версии 4.6). Поскольку CNG имеет сквозной доступ для чтения старых программных ключей CAPI, GetRSAPrivateKey обычно возвращает RSACng даже для ключа CAPI; но если CNG не может его загрузить (например, это ключ HSM без драйвера CNG), тогда GetRSAPrivateKey вернет RSACryptoServiceProvider.

Обратите внимание, что тип возвращаемого значения для GetRSAPrivateKeyRSA. Начиная с .NET Framework v4.6 вам не нужно выполнять приведение за пределы RSA для стандартных операций; единственная причина использовать RSACng или RSACryptoServiceProvider — это когда вам нужно взаимодействовать с программами или библиотеками, которые используют NCRYPT_KEY_HANDLE или идентификатор ключа (или открывая постоянный ключ по имени). (В .NET Framework v4.6 было много мест, где входной объект по-прежнему приводился к RSACryptoServiceProvider, но все они были устранены в версии 4.6.2 (конечно, на тот момент это было более двух лет назад)).

Поддержка сертификатов ECDSA была добавлена ​​в 4.6.1 с помощью метода расширения GetECDsaPrivateKey, а DSA был обновлен в 4.6.2 с помощью GetDSAPrivateKey.

В .NET Core возвращаемое значение из Get[Algorithm]PrivateKey меняется в зависимости от ОС. Для RSA это RSACng/RSACryptoServiceProvider в Windows, RSAOpenSsl в Linux (или любой UNIX-подобной ОС, кроме macOS) и закрытый тип в macOS (это означает, что вы не можете это за RSA).


3

bartonjs
4 Окт 2018 в 23:38

Используя Visual Studio 2019 и IISExpress, я смог исправить эту проблему, удалив следующий флаг при загрузке файла .pfx|.p12:

X509KeyStorageFlags.MachineKeySet

Перед:

X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable

После:

X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable

Обычно я загружаю сертификат следующим образом:

var myCert = new X509Certificate2("mykey.pfx", "mypassword", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);

Это НЕ вызывает исключение, вместо этого исключение возникает при попытке использовать сертификат (или, в моем случае, при попытке получить .PrivateKey). Я обнаружил, что эта проблема может быть вызвана тем, что у вызывающего пользователя недостаточно прав.

Поскольку я полагаюсь на флаг MachineKeySet для некоторых сред, мое текущее решение состоит в том, чтобы проглотить исключение, изменить флаги и повторить попытку. :/

Более органичным решением было бы проверить уровень разрешений и установить этот флаг динамически, однако я не знаю простого способа сделать это, отсюда и запасной вариант.

ПРИМЕЧАНИЕ. Файл .pfx, который я использую, был создан с веб-сайта, использующего библиотеку JavaScript (digitalbazaar/forge), которая НЕ использует поставщики хранилища ключей CNG (Cryptography Next Generation). . вот много распространенных причин для этой же ошибки (наиболее распространенные исправления, связанные с расширениями CNG, которые, к сожалению, даже изменили пространства имен в версиях .NET), которые вызывают ту же ошибку. Microsoft в конечном итоге должна быть более подробной при выдаче ошибок такого типа.


3

tresf
1 Ноя 2019 в 21:45

Что сработало для меня: IIS/Пул приложений/Загрузить профиль пользователя = true


2

Michael Aguilar
21 Ноя 2019 в 01:49

Версия Powershell ответа от @berend-engelbrecht, при условии, что openssl установлен через chocolatey

function Fix-Certificates($certPasswordPlain)
{
    $certs = Get-ChildItem -path "*.pfx" -Exclude "*.converted.pfx"
    $certs | ForEach-Object{
        $certFile = $_

        $shortName = [io.path]::GetFileNameWithoutExtension($certFile.Name)
        Write-Host "Importing $shortName"
        $finalPfx = "$shortName.converted.pfx"


        Set-Alias openssl "C:Program FilesOpenSSLbinopenssl.exe"

        # Extract public key
        OpenSSL pkcs12 -in $certFile.Fullname -nokeys -out "$shortName.cer" -passin "pass:$certPasswordPlain"

        # Extract private key
        OpenSSL pkcs12 -in $certFile.Fullname -nocerts -out "$shortName.pem" -passin "pass:$certPasswordPlain" -passout "pass:$certPasswordPlain"

        # Convert private key to RSA format
        OpenSSL rsa -inform PEM -in "$shortName.pem" -out "$shortName.rsa" -passin "pass:$certPasswordPlain" -passout "pass:$certPasswordPlain" 2>$null

        # Merge public keys with RSA private key to new PFX
        OpenSSL pkcs12 -export -in "$shortName.cer" -inkey "$shortName.rsa" -out $finalPfx -passin "pass:$certPasswordPlain" -passout "pass:$certPasswordPlain"

        # Clean up
        Remove-Item "$shortName.pem"
        Remove-Item "$shortName.cer"
        Remove-Item "$shortName.rsa"

        Write-Host "$finalPfx created"
    }
}

# Execute in cert folder
Fix-Certificates password


1

fiat
2 Сен 2018 в 02:25

Я столкнулся с той же проблемой в нашем приложении IIS:

 System.Security.Cryptography.Pkcs.PkcsUtils.CreateSignerEncodeInfo(CmsSigner signer, Boolean silent)
    System.Security.Cryptography.Pkcs.SignedCms.Sign(CmsSigner signer, Boolean silent)
    System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer, Boolean silent)

Регенерация сертификатов, как упоминалось здесь, не помогла. Я также заметил, что тестовое консольное приложение отлично работает под пользователем пула.

Проблема исчезла после очистки параметра «Включить 32-разрядные приложения» для пула приложений IIS.


1

Vadim Kiselev
21 Май 2019 в 10:24

Для службы .net 4.8 WCF я получал эту ошибку, потому что я (также) не установил версию httpRuntime.

Без набора httpRuntime я получал ошибку всякий раз, когда присутствовала защищенная привязка .net tcp.

<system.web>
    <compilation targetFramework="4.8" />
    <httpRuntime targetFramework="4.8" />
    <!--<customErrors mode="Off" />-->
</system.web>

Я уже настроил необходимые разрешения в mmc.exe -> добавить оснастку -> сертификаты -> личные -> все задачи -> управлять закрытыми ключами -> добавить [имя компьютера]IIS_IUSRS (все мои пулы приложений — это ApplicationPoolIdentity [по умолчанию ] — что покрывается IIS_IUSRS)


1

DavidG
11 Сен 2020 в 02:11

Свойства PrivateKey и PublicKey устарели, начиная с NET 4.6. Пожалуйста, используйте:

  • cert.GetRSAPrivateKey() или GetECDsaPrivateKey()
  • cert.GetRSAPublicKey() или GetECDsaPublicKey()

Отношении


1

Martin.Martinsson
3 Ноя 2020 в 15:24

После принятого ответа (с указанием KeySpec) исключение изменилось на System.Security.Cryptography.CryptographicException: Invalid provider type specified.. Я разрешил это исключение, предоставив моему веб-приложению доступ к закрытому ключу (IIS_IUSRS). Я обнаружил, что это также решит проблему с моим исходным сертификатом. Поэтому перед созданием и развертыванием новых сертификатов также проверьте разрешения закрытого ключа.


1

Bouke
11 Ноя 2020 в 12:59

Проблема в том, что ваш код не может прочитать файл PFX. преобразовать файл pfx в формат RSA, выполнив следующие шаги.

Получите сертификат и извлеките файл pfx из сертификата.

Используйте пароль 123456 ниже, чтобы иметь быстрое решение.

Переименуйте свой файл pfx в «my.pfx», чтобы упростить его, и поместите его в «C: Certi», убедитесь, что в вашей системе уже установлен открытый SSL. откройте cmd в системе Windows и введите —> OpenSSL Сохраняйте спокойствие и просто запускайте их по одному —> скопируйте и вставьте. *Примечание

passin — ваш пароль к файлу Pfx. —passout — новый пароль для преобразованного файла pfx.

1. pkcs12 -in "C:Certimy.pfx" -nokeys -out "C:CertiMYCERT.cer" -passin "pass:123456"

2. pkcs12 -in "C:Certimy.pfx" -nocerts –out “C:CertiMYCERT.pem" -passin "pass:123456" -passout "pass:123456"

3. rsa -inform PEM -in "C:CertiMYCERT.pem" -out "C:CertiMYCERT.rsa" -passin "pass:123456" -passout "pass:123456"

Если вы столкнулись с проблемой в 3-й команде, перейдите сюда https://decoder.link/converter
Нажмите PKC # 12 на PEM загрузите файл pfx и конвертируйте его онлайн. скачать zip-файл. он содержит 3 файла. просто скопируйте файл «.key», переименуйте его в my.key и поместите в «C:Certi»

4. rsa -in C:Certimy.key -out C:Certidomain-rsa.key

5. pkcs12 -export -in "C:CertiMYCERT.cer" -inkey "C:Certidomain-rsa.key" -out "C:CertiCONVERTED.pfx" -passin "pass:123456" -passout "pass:123456"


**Also, you can try below things if the issue still persists**
  • При наличии доступа к пулу приложений или пользователю IIS к папке «обязательно делать»

Путь — > C:ProgramDataMicrosoftCryptoRSAMachineKeys

  • Удалить старые ключи (убрать беспорядок)
    Путь — > C:ProgramDataMicrosoftCryptoRSAMachineKeys


0

Manoj Kargeti
14 Янв 2020 в 11:35

Эта ошибка исчезла после того, как я удалил сертификат из хранилища и снова импортировал его из файла .pfx с помощью мастера импорта сертификатов (дважды щелкните файл .pfx) и дополнительной опции импорта.

После проверки опции импорта (тот же шаг, когда вводится пароль):

«Отметьте этот ключ как экспортируемый. Это позволит вам создать резервную копию или перенести ваши ключи позже».

Доступ к приватному ключу теперь можно получить из кода без каких-либо ошибок.

Я также явно выбираю «Личный» магазин на предпоследнем шаге, но я не думаю, что это имеет значение.


0

Tikall
30 Янв 2020 в 17:21

Кажется, в Windows 10, если я запущу свою программу без прав администратора (независимо от того, использую ли я свойство PrivateKey или метод расширения GetRSAPrivateKey()), я увижу это исключение (исключение см. в заголовке этой ветки обсуждения). Если я запущу свою программу с правами администратора и использую свойство PrivateKey, я также увижу это исключение. Только если я запущу свою программу с правами администратора и использую метод расширения GetRSAPrivateKey(), я не увижу это исключение.


0

robbie fan
16 Мар 2020 в 16:49

У меня также была эта проблема, я изменил «.jks» на «.pfx», не вводя пароль, как только я снова изменил тип хранилища ключей с паролем, он успешно работал.


0

Selwade
18 Окт 2021 в 11:21

Содержание

  1. Как исправить ошибку 5 «Отказано в доступе» в Windows 10?
  2. Установка разрешений на папку Temp
  3. Добавление текущему пользователю прав администратора
  4. Активация встроенной учетной записи администратора
  5. Настройка контроля UAC
  6. Как исправить ошибку «Отказано в доступе» на Windows?
  7. 1. Вы администратор?
  8. 2. Исправьте ошибки доступа, отказавшись от прав собственности
  9. 3. Просмотр разрешений для папок
  10. 4. Дважды проверьте настройки антивируса
  11. 5. Проверьте шифрование файлов
  12. Исправление ошибки «Отказано в доступе» при работе со службами в Windows 10
  13. Исправляем ошибку «Отказано в доступе» при работе со службами в Windows 10
  14. Способ 1: Настройка прав доступа системного раздела
  15. Способ 2: Редактирование группы Администраторы
  16. Способ 3: Проверка определенной службы
  17. Способ 4: Включение привилегий для LOCAL SERVER
  18. Способ 5: Проверка системы на вирусы

Как исправить ошибку 5 «Отказано в доступе» в Windows 10?

При попытке установить программу Windows может прервать это действие ошибкой 5 «Отказано в доступе». Во многих случаях сбой связан с отсутствием разрешений у текущего пользователя на выполнение этой операции. Узнаем подробнее, как ее исправить.

Перед применением решений попробуйте установить программу от имени администратора. Еще попробуйте скопировать и запустить установщика из системного диска, это должно решить проблему.

Установка разрешений на папку Temp

В проводнике найдите папку Temp, щелкните на нее правой кнопкой мыши и выберите Свойства.

На вкладке Безопасность щелкните на кнопку «Дополнительно».

Отметьте флажком поле «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта». Примените изменения на «ОК».

Добавление текущему пользователю прав администратора

Откройте окно «Учетные записи» командой netplwiz из окна «Выполнить» (Win + R).

Укажите пользователя, которому нужно предоставить администраторские права, и выберите Свойства.

На вкладке Членство в группе отметьте флажком опцию «Администратор» и примените изменения на «ОК».

Активация встроенной учетной записи администратора

При установке Windows 10, система создает две скрытые записи – администратора и гостевую, которые по умолчанию не активны. В отличие от устанавливаемой по умолчанию, встроенная имеет неограниченный доступ к системе. Чтобы ее включить, следуйте инструкции.

Откройте командную строку с администраторскими правами с помощью системного поиска.

Наберите в консоли следующую команду и подтвердите ее на Enter:

net user Администратор /active:yes

После успешного выполнения можете установить на него пароль, для этого запустите команду:

Перезагрузите компьютер, и выполните вход под этой встроенной учетной записью.

Теперь ОС не должна отказать в доступе при установке программы. Для отключения откройте командную строку и запустите команду:

Настройка контроля UAC

Применять этого решения не рекомендуется, поскольку может сделать систему уязвимой. Есть некоторые приложения, которые конфликтуют с UAC. Минимизировать вмешательство этой функции в установку приложений может решить проблему.

В строке системного поиска наберите UAC и кликните по первому найденному результату. Переместите ползунок в положение «Не уведомлять», и примените изменения на «ОК».

Теперь выполните то действие, которое прерывалось ошибкой 5.

Как исправить ошибку «Отказано в доступе» на Windows?

Может показаться странным, когда Windows сообщает, что у вас нет прав доступа к чему-либо на вашем компьютере. Обычно это результат разрешений в файловой системе NTFS, используемой Windows по умолчанию.

Если при попытке доступа к файлу или папке вы увидите сообщения об отказе в доступе в Windows 10, мы расскажем вам, как решить эту проблему.

1. Вы администратор?

В большинстве случаев вам нужно быть администратором на своем ПК, чтобы вносить изменения в владельца файлов / папок. Возможно, вы сможете настроить разрешения в каталогах, которые принадлежат вам, но не будут иметь большого контроля в других местах.

Это сделано для того, чтобы все файлы на компьютере были приватными. Только администраторы могут получить доступ к файлам, принадлежащим другому пользователю. Кроме того, вам необходимо предоставить права администратора для внесения изменений в системные файлы, например, в папки Program Files и Windows.

2. Исправьте ошибки доступа, отказавшись от прав собственности

Самое основное исправление, которое нужно попробовать, когда вы видите «Отказано в доступе к папке» — это взять на себя владение папкой через Проводник. Вот как это сделать.

Сначала щелкните правой кнопкой мыши нужную папку или файл и выберите «Свойства». В появившемся окне перейдите на вкладку Безопасность. Нас интересует кнопка «Дополнительно»; нажмите это.

В верхней части следующего окна вы увидите поле с надписью Владелец. Это, скорее всего, скажет «Невозможно отобразить текущего владельца», если у вас возникли проблемы. Нажмите на синюю ссылку Изменить рядом с этим, чтобы исправить это — обратите внимание, что для этого вам нужно быть администратором.

Теперь вы увидите диалоговое окно с заголовком Выбор пользователя или группы . Внутри этого введите имя учетной записи нового владельца папки. Это может быть либо имя пользователя учетной записи, либо группа пользователей на вашем ПК. Группы включают в себя стандартные блоки, такие как «Администраторы» (если вы хотите, чтобы все администраторы компьютера владели им), или «Пользователи» (для всех, кто владеет ими). В домашнем использовании обычно имеет смысл передать право собственности одному человеку.

Мы предполагаем, что вы хотите стать владельцем этой папки под своей учетной записью, поэтому введите здесь свое имя пользователя. Если вы используете учетную запись Microsoft для входа в Windows 10, ваше имя пользователя — это первые пять букв вашего адреса электронной почты. Нажмите «Проверить имена», чтобы убедиться, что это правильно. Если это так, он автоматически изменится на PCNAMEUSERNAME. Нажмите ОК.

Вернувшись в главное окно «Дополнительно», вы увидите поле внизу, которое начинается с Заменить все записи разрешений дочерних объектов. Если вы хотите, чтобы ваши изменения применялись ко всем папкам внутри текущей (что вы, вероятно, делаете в большинстве случаев), установите этот флажок. Затем дважды нажмите ОК, и все готово.

Будьте внимательны при изменении настроек владения файлами

При работе с ошибками «отказано в доступе» следует с осторожностью применять вышеуказанные действия. Избегайте владения папками в системных каталогах, таких как Windows, Program Files, Program Data или аналогичных.

Это ослабит безопасность вашей системы, поскольку обычные учетные записи не должны быть владельцами этих каталогов. Они содержат важные папки Windows, к которым вы не должны прикасаться.

Вы все еще можете получить доступ к этим папкам, используя описанный выше метод, не становясь владельцем.

3. Просмотр разрешений для папок

Если вступить во владение папкой не удается, или вы являетесь администратором, который пытается предоставить разрешения кому-то другому, вам следует проверить, какие пользователи имеют какие разрешения для данной папки.

В свойствах папки откройте ту же вкладку «Безопасность», что и раньше. Вверху вы увидите список пользователей и групп на вашем ПК. Выберите запись здесь, и нижняя панель покажет, какие разрешения они имеют для этой папки.

Как и следовало ожидать, полный контроль дает вам полную власть над папкой и всем внутри. Чтение является наиболее ограничительным вариантом, так как он позволяет только увидеть, что находится в папке. См. страницу Microsoft о правах доступа к файлам и папкам для лучшего понимания.

4. Дважды проверьте настройки антивируса

Иногда ваш антивирус может стать слишком усердным и в конечном итоге испортить вашу способность доступа к файлам. Если вы подтвердили, что все в порядке с вашими правами доступа к файлам, указанными выше, вы можете проверить это дальше.

Посмотрите на настройки вашей антивирусной программы и посмотрите, есть ли защита файлов или подобные настройки. Попробуйте отключить это, а затем снова получить доступ к файлу. Если это не дает эффекта, временно отключите антивирус полностью и посмотрите, поможет ли это.

5. Проверьте шифрование файлов

Другая причина, по которой вы можете увидеть сообщение «доступ запрещен», заключается в том, что содержимое папки зашифровано. Как вы, возможно, знаете, шифрование защищает файл, позволяя просматривать его только тому, у кого есть ключ.

Вы можете зашифровать содержимое папки в Windows, хотя эта функция доступна только в профессиональных версиях. Для этого щелкните его правой кнопкой мыши и в появившемся окне нажмите кнопку «Дополнительно» на вкладке «Общие». Здесь, проверьте Шифрование содержимого для защиты данных . При этом все внутри папки будет заблокировано.

Этот тип шифрования прозрачен, это означает, что владелец никогда не замечает шифрование. Пока они вошли в систему, они могут получить доступ к этим файлам. Но если у вас нет сертификата, используемого для шифрования папки, Windows откажет вам в доступе. Тот, кто зашифровал файл, должен будет его разблокировать.

Это не единственный способ зашифровать файлы в Windows 10, но это может привести к появившейся ошибке.

Другие возможные исправления «Отказ в доступе к файлам»

Мы рассмотрели наиболее важные решения проблемы «отказ в доступе к папкам». Вы найдете множество советов по этой проблеме, но не все они хороши. Некоторые из них связаны с получением прав администратора, о которых мы уже говорили.

Другие советы могут не сработать в каждом случае, но их стоит обсудить, если для вас ничего не получится.

Одна из распространенных тактик — отключение контроля учетных записей (UAC). Для этого введите UAC в меню «Пуск» и выберите «Изменить настройки контроля учетных записей». Перетащите ползунок полностью вниз и нажмите ОК.

Как только вы это сделаете, попробуйте описанные выше шаги еще раз, чтобы стать владельцем. После того, как вы закончите, не забудьте сбросить настройки UAC туда, где они были.

В качестве другого шага по устранению неполадок попробуйте загрузить компьютер в безопасном режиме. загрузиться в безопасном режиме и выполните шаги, чтобы стать владельцем. Это исключает любое вмешательство со стороны сторонних программ.

Наконец, убедитесь, что ничто другое не использует папку или файл, к которому вы хотите получить доступ. Другой процесс может заблокировать файл, поэтому вы не можете вносить в него изменения.

Исправление «Отказ в доступе к папке назначения»

Вместо этого может появиться более конкретная проблема «доступ к целевой папке запрещен». В большинстве случаев вы можете исправить это, используя те же методы устранения неполадок, что и выше.

Несмотря на сообщение, не пытайтесь исправить только папку назначения. Проверьте разрешения для исходной папки тоже.

Мы рассмотрели, как решить проблемы с доступом к папкам и файлам в Windows. Обычно это сводится к простому исправлению разрешения. Убедитесь, что у вас есть права администратора, тогда вы можете попытаться взять на себя ответственность и при необходимости изменить разрешения. Просто избегайте смены владельца защищенных системных папок, так как это может поставить под угрозу безопасность вашей системы.

Исправление ошибки «Отказано в доступе» при работе со службами в Windows 10

Часто перед пользователями возникает потребность изменить состояние какой-либо службы в Windows 10. Это может быть связано с решением неполадок или временным отключением работы приложения. Однако не всегда процесс происходит корректно. Иногда на экране появляется уведомление «Отказано в доступе», что означает невозможность внести указанные изменения. Далее мы хотим продемонстрировать все доступные варианты исправления этой ситуации.

Исправляем ошибку «Отказано в доступе» при работе со службами в Windows 10

Ошибка «Отказано в доступе» свидетельствует об ограничениях на права пользователя, которые были выставлены администратором или системой автоматически. В большинстве случаев возникновение подобной ситуации связано с системными сбоями, поэтому приходится перебирать возможные варианты ее решения. Мы предлагаем начать с самого очевидного и эффективного, постепенно переходя к более сложным и редко встречающимся исправлениям.

Способ 1: Настройка прав доступа системного раздела

Как известно, все файлы, связанные с операционной системой, хранятся на системном разделе жесткого диска. Если на него установлены какие-либо правовые ограничения, возможно возникновение различных проблем при попытке взаимодействовать со стандартными файлами, в том числе и службами. Решается эта неполадка следующим образом:

  1. Через «Проводник» перейдите в раздел «Этот компьютер», найдите там локальный системный диск, кликните по нему правой кнопкой мыши и выберите пункт «Свойства».

В открывшемся окне переместитесь на вкладку «Безопасность».

Щелкните по кнопке «Изменить», предварительно сняв выбор с какой-либо учетной записи.

В поле «Введите имена выбираемых объектов» напишите «Все» и нажмите на «Проверить имена».

Данная надпись должна стать подчеркнутой — это означает, что проверка прошла успешно. После этого просто нажмите на «ОК», чтобы сохранить изменения.

Произойдет автоматический переход на эту же вкладку «Безопасность». Теперь отметьте поле «Все» и установите разрешения для полного доступа. Перед выходом не забудьте применить изменения.

После применения новых правил безопасности рекомендуется перезагрузить компьютер, а уже потом запускать окно «Службы» и пытаться производить необходимые изменения, проверяя действенность выполненных только что настроек.

Способ 2: Редактирование группы Администраторы

Следующее решение будет связано с изменением локальной группы пользователей под названием Администраторы. Принцип этого способа заключается в добавлении прав на управление локальными и сетевыми службами. Для этого придется от имени администратора выполнить две команды в консоли, с чем справится даже самый начинающий юзер.

    Приложение «Командная строка» в обязательном порядке следует запустить от имени администратора. Проще всего это сделать, отыскав консоль через «Пуск» и выбрав там соответствующий пункт.

В первую очередь введите команду net localgroup Администраторы /add networkservice и нажмите на Enter.

Вы будете уведомлены о ее выполнении.

Если вместо этого вы получили ошибку «Указанная локальная группа не существует», напишите ее название на английском языке — «Administrators» вместо «Администраторы». То же самое надо сделать и с командой из следующего шага.

Закройте консоль после появления строки «Команда выполнена успешно».

По завершении данной операции обязательно перезагрузите компьютер, поскольку установленная конфигурация активируется только при создании нового сеанса.

Способ 3: Проверка определенной службы

Этот метод подойдет тем пользователям, кто испытывает проблемы с появлением уведомления «Отказано в доступе» только при работе с конкретными службами. Дело может быть в том, что ограничения установлены непосредственно для самой службы, а это можно проверить только через редактор реестра.

    Для начала потребуется определить системное наименование службы. Запустите «Пуск», найдите через поиск приложение «Службы» и запустите его.

Отыщите строку с необходимым параметром и дважды щелкните по ней, чтобы перейти в свойства.

Ознакомьтесь с содержимым строки «Имя службы».

Запомните его и запустите утилиту «Выполнить» через комбинацию клавиш Win + R. Введите regedit и нажмите на Enter.

В редакторе реестра перейдите по пути HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices .

В конечной папке отыщите каталог с названием нужной службы и щелкните по нему ПКМ.

Через контекстное меню перейдите в «Разрешения».

Убедитесь в том, что для групп Администраторы и Пользователи установлен полный разрешающий доступ. Если это не так, измените параметры и сохраните изменения.

Теперь вы можете прямо в редакторе реестра изменить состояние параметра или вернуться в приложение «Службы», чтобы проверить, помогли ли произведенные действия избавиться от проблемы.

Способ 4: Включение привилегий для LOCAL SERVER

В Windows 10 имеется учетная запись под названием LOCAL SERVER. Она является системной и отвечает за запуск определенных опций, в том числе и при взаимодействии со службами. Если ни один из предыдущих методов не принес должного результата, можно попытаться установить отдельные права для этой учетной записи, что делается так:

    Перейдите в свойства локального диска с операционной системой через контекстное меню, откройте вкладку «Безопасность» и нажмите на «Изменить».

Потребуется кликнуть на «Добавить», чтобы перейти к поиску профиля.

В появившемся окне переместитесь в раздел «Дополнительно».

Начните поиск учетных записей.

Из списка выберите необходимую сейчас.

После предоставьте ей полный доступ для управления системными компонентами и примените изменения.

Способ 5: Проверка системы на вирусы

Последний метод, рассматриваемый сегодня, предполагает проверку системы на вирусы. Использовать его следует в тех случаях, когда ни один из приведенных выше вариантов не помог справиться с проблемой — тогда есть повод задуматься о действии вредоносных файлов. Вполне возможно, что какой-то вирус попросту блокирует доступ к службам, а сама проблема будет решена только после его удаления и восстановления системных объектов. Более детально об этом читайте в отдельном материале на нашем сайте далее.

Теперь вы знаете как бороться с проблемой «Отказано в доступе» при попытках изменить состояние службы в Виндовс 10. Осталось только поочередно выполнять каждый способ, чтобы в максимально короткие сроки отыскать действенное решение.

Перейти к контенту

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Большой объем кода — ошибка.

Subscribe: RSS

Login to Post

    • 36423

    • 2 Posts
    • Send PM

    cratte Reply #1, 11 years, 5 months ago

    Здравствуйте.
    При добавлении большого объема информации на новый ресурс modx 2.1.3 выдает ошибку: Произошла ошибка при попытке сохранить ресурс.
    Та же история с чанками и снипетами: если кода много, то выдается ошибка. Modx evo 1.0.0-RC3 c этим объемами справляется «на ура».
    В чем может быть проблема? Это связано с CMS или может в базе нужно какие настройки поменять?

      • 36423

      • 2 Posts
      • Send PM

      cratte Reply #2, 11 years, 5 months ago

      Проблема снята, дела было в настройках базы.

      Бесконечное сохранение ресурсов в MODX


      27 августа 2018, 22:49

        
      Alex

      MODX Revo

      0

        
      3590





      0



      Недавно возникла проблема в админке MODX при редактированиии и создании нового ресурса.
      При нажатии на кнопку «сохранить», — ресурс начинал бесконечно его сохранять и в консоли вываливались ошибки:

      Uncaught SyntaxError: Unexpected identifier
          at doDecode (ext-all.js:21)
          at Object.decode (ext-all.js:21)
          at Ext.form.Action.Submit.handleResponse (modx.jsgrps-min.js:1)
          at Ext.form.Action.Submit.processResponse (ext-all.js:21)
          at Ext.form.Action.Submit.success (ext-all.js:21)
          at o (ext-all.js:21)
          at Ext.data.Connection.s (ext-all.js:21)
          at HTMLIFrameElement.I (ext-all.js:21)
      

      Проблема была в браузере, а не самом MODX. В Opere всё работало отлично, а в Chrome админка начинала вести себя капризно.

      Бесконечное сохранение ресурсов в MODX

      красная пунктирная линия

      Решение проблемы

      Оказалось, это был просто конфликт с расширением в Chrome под названием «MusVK». Достаточно его отключить и работа сайта нормализуется.


      Поделиться с друзьями


      Похожие статьи:

      MODX ➨ условия if-else
      MODX Shopkeeper 3 — проблема с плагином мультивалютности
      Tickets: как сделать счетчик просмотров всех посетителей
      Правильный файл robots.txt для CMS MODX Revolution
      Правильный файл .htaccess для CMS MODX Revolution

      Комментарии ()


      1. Григорий Komsomol
        13 октября 2018, 12:38
        #



        +1







        Спасибо! Ваша инструкция сэкономила много времени!


        1. Алексей Власов
          13 октября 2018, 18:57
          #




          0







          Спасибо за комментарий! Рад, что помог!

        Вы должны авторизоваться, чтобы оставлять комментарии.

        Вы можете авторизоваться на сайте через:

        YandexVkontakte

        @xpix

        xpix created Redmine issue ID 3638

        Hi,

        From time to time the manager doesn’t save the document I just edited.
        The «Please Wait/Saving» overlay appears and stay there forever.

        If you just added content you cannot go back by pressing ESCAPE or by closing that overlay which means that you need to refresh the page.
        By refreshing the page the new content is lost.

        Please provide a way, a close button for now, that will close the overlay and allow users to re-save.
        When the overlay is closed by pressing the close button a message should appear and say «Your data has not been saved. Please try again. If this continues to happen save the data in a file on your computer, reload the page and re-paste the content».

        A better solution would be to implement a timer(configurable from settings) for the «Please Wait/Saving» message. If the document is not saved in 20 seconds you should alert the user to save the new content in a different format, reload and paste the content again and save.

        Currently I am not sure if this is a MODX only problem or maybe from time to time the host doesn’t properly answer to the MODX request but it never happen on Evo, and I know it happened in Revo in previous versions.

        I attached a screen-shot with my thoughts. I keep posting what I find but I suspect a js error.

        Thank you

        @splittingred

        splittingred submitted:

        Please do not assign target versions. Thanks.

        @MokoJumbie

        MokoJumbie submitted:

        Can somebody assign a target version to some of these super old major bugs? this is a serious bug which can result in a loss of data and is over 2 years old. There are a lot of really old issues which are being forgotten about and would really do to be resolved in new versions of MODX. I don’t know how to feel about requests to aid in finding new bugs to squash in upcoming releases when the old bugs are just getting buried.

        I can verify that this still exists in 2.2.5. If it helps, I believe it can be produced by having a connection drop before saving is completed. This is probably not the only cause, however.

        @opengeek

        opengeek submitted:

        I cannot reproduce this bug. I suspect this was related to mod_security rules applied in the server environment and preventing POST requests containing certain HTML tags or other content matching it’s filters.

        @MokoJumbie

        MokoJumbie submitted:

        I will try to look into this some more so I can give you more details.

        Your suspicion may be correct, but if so, I don’t believe mod_security is the culprit in at least some (if not most) of the cases I’ve seen. It has happened on several different servers and not consistently. Often the problem can be fixed by restarting the user’s browser or computer. Can someone corroborate this aspect of the bug for me?

        I think there are two issues here. First is the question of what’s causing the issue in the first place, which seems a bit ambiguous. But secondly, I don’t feel enough is being done by the manager to prevent submitted data from being lost should a request fail. Can a request which takes too long be canceled, notifying the user of the failure and allowing them the opportunity to save their entered content. Even better would be to save the submission content in sessionStorage or localStorage for recovery in the event of such a failure.

        Thanks for looking into this.

        @MokoJumbie

        MokoJumbie submitted:

        Still looking into this, but forcibly attempting to remove access to the server during a save yields the results seen in Issue #9147, not the result seen in this bug. Anyone have any luck in reliably reproducing this?

        @MokoJumbie

        MokoJumbie submitted:

        I just got this bug again. No idea why. But this is a huge issue, leading to loss of entered data. It’s really frustrating to see your data behind a grey curtain knowing there is no way to retrieve it before having to reload the page and force yourself to have to enter it all over again. Is there at least some way we can dismiss the ‘Please Wait: Saving…’ dialog so that we can attempt a save at a later time or at least recover some of our data?

        I can confirm that i still have access to the server and the manager in another tab. I have also been able to save to this resource many times recently.

        @MokoJumbie

        MokoJumbie submitted:

        FYI, I noticed in this instance that upon attempting to save, I am getting the following error in my console:

        NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIDOMHTMLDocument.implementation]
        [Break On This Error]   
        ...xt():n.prev()))}}}if(l){if(o.nodeType===3&&r===0){x(true)}if(o.nodeType===1){q=o...
        http://mymodxwebsite.com/assets/components/tinymce/jscripts/tiny_mce/tiny_mce.js?v=225pl (line 1)
        uncaught exception: [object Object]
        

        l’ll report back if i see any other potential causes.

        @wm-simon

        Pfeifakopf submitted:

        I have the same Problem. This happens on multiple sites, if they where upgraded from an older version (< 2.1). Most times it happens in combination with MIGX and editing there something.

        This was referenced

        Nov 20, 2012

        @ghost

        Wanted to add a little more to this — we’re still experiencing this intermittently on a few sites being served from a couple of different server environments. The issue doesn’t seem to be tied to any particular browser, but what we’ve noted is that using Chrome or Safari’s built in developer tools, when we right-click and inspect the «Saving» overlay, by changing the element’s display to «none» we’re able to access the save button again — and clicking it again has worked 100% of the time.

        Obviously it’s not an optimal solution to pass on to our clients, but I’m curious if others are still experiencing this and whether this might narrow down the possible causes.

        @zaigham

        @BlueJayTech I would like to mention that you can use CTRL+S or CTRL+SHIFT+S (windows) as a shortcut to save the content. Not a solution but it will save you going into dev tools for the time being.

        IMO, most probably it is due to network going haywire for split second.

        @andrewcsp

        I just had this issue in MODX 2.4.2 on Firefox 42 and noticed that it coincided with a JS error in Firebug:

        uncaught exception: [object Object]
        domain.com/assets/components/tinymce/jscripts/tiny_mce/tiny_mce.js?v=242pl
        Line 1, col 118324
        

        Inspecting col 118324 in the minified JS file leads me to the statement o.cloneNode(true) in the following code fragment:

        if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}

        Looking at the unminified file, I believe this correlates to line 10336 of https://github.com/splittingred/TinyMCE/blob/develop/assets/components/tinymce/jscripts/tiny_mce/tiny_mce_src.js (node = node.cloneNode(true);

        ...
        
        // Return public methods
        return {
            schema : schema,
        
            addNodeFilter : htmlParser.addNodeFilter,
        
            addAttributeFilter : htmlParser.addAttributeFilter,
        
            onPreProcess : onPreProcess,
        
            onPostProcess : onPostProcess,
        
            serialize : function(node, args) {
                var impl, doc, oldDoc, htmlSerializer, content;
        
                // Explorer won't clone contents of script and style and the
                // selected index of select elements are cleared on a clone operation.
                if (isIE && dom.select('script,style,select,map').length > 0) {
                    content = node.innerHTML;
                    node = node.cloneNode(false);
                    dom.setHTML(node, content);
                } else
                    node = node.cloneNode(true);
        
        ...

        @pixelchutes

        Do you receive any kind of errors saving the same content when TinyMCE is not installed?

        @andrewcsp

        Unfortunately it appears to be an intermittent bug. I was updating a bunch of 10 documents and it happened about 4-5 times within 5 minutes. After that, no problems at all.

        I presume not using TinyMCE will fix the problem. Will try that the next time this problem surfaces.

        For what it’s worth, I don’t think the actual content within the TinyMCE editor is a factor (could be wrong of course). The documents contained one p tag containing 10-20 words. No links, tables, images, nothing fancy at all.

        @OptimusCrime

        I am going to close this for following reasons:

        • Original issue can deal with multiple underlying issues (see below list)
        • Some (sub)problems has to do with extras
        • No error log or extended information.

        The manager interface is heavily ajax-based, now, without inspecting the network data, a wide range of reason could prevent a resource from saving. These include (but not limited to): javascript errors (request is never sent), PHP error (fatal error resulting in invalid JSON response), web server error (apache/nginx fails to deliver response).

        Feel free to comment or reopen if you disagree with my decision.

        @modxbot close

        @xpix

        xpix created Redmine issue ID 3638

        Hi,

        From time to time the manager doesn’t save the document I just edited.
        The «Please Wait/Saving» overlay appears and stay there forever.

        If you just added content you cannot go back by pressing ESCAPE or by closing that overlay which means that you need to refresh the page.
        By refreshing the page the new content is lost.

        Please provide a way, a close button for now, that will close the overlay and allow users to re-save.
        When the overlay is closed by pressing the close button a message should appear and say «Your data has not been saved. Please try again. If this continues to happen save the data in a file on your computer, reload the page and re-paste the content».

        A better solution would be to implement a timer(configurable from settings) for the «Please Wait/Saving» message. If the document is not saved in 20 seconds you should alert the user to save the new content in a different format, reload and paste the content again and save.

        Currently I am not sure if this is a MODX only problem or maybe from time to time the host doesn’t properly answer to the MODX request but it never happen on Evo, and I know it happened in Revo in previous versions.

        I attached a screen-shot with my thoughts. I keep posting what I find but I suspect a js error.

        Thank you

        @splittingred

        splittingred submitted:

        Please do not assign target versions. Thanks.

        @MokoJumbie

        MokoJumbie submitted:

        Can somebody assign a target version to some of these super old major bugs? this is a serious bug which can result in a loss of data and is over 2 years old. There are a lot of really old issues which are being forgotten about and would really do to be resolved in new versions of MODX. I don’t know how to feel about requests to aid in finding new bugs to squash in upcoming releases when the old bugs are just getting buried.

        I can verify that this still exists in 2.2.5. If it helps, I believe it can be produced by having a connection drop before saving is completed. This is probably not the only cause, however.

        @opengeek

        opengeek submitted:

        I cannot reproduce this bug. I suspect this was related to mod_security rules applied in the server environment and preventing POST requests containing certain HTML tags or other content matching it’s filters.

        @MokoJumbie

        MokoJumbie submitted:

        I will try to look into this some more so I can give you more details.

        Your suspicion may be correct, but if so, I don’t believe mod_security is the culprit in at least some (if not most) of the cases I’ve seen. It has happened on several different servers and not consistently. Often the problem can be fixed by restarting the user’s browser or computer. Can someone corroborate this aspect of the bug for me?

        I think there are two issues here. First is the question of what’s causing the issue in the first place, which seems a bit ambiguous. But secondly, I don’t feel enough is being done by the manager to prevent submitted data from being lost should a request fail. Can a request which takes too long be canceled, notifying the user of the failure and allowing them the opportunity to save their entered content. Even better would be to save the submission content in sessionStorage or localStorage for recovery in the event of such a failure.

        Thanks for looking into this.

        @MokoJumbie

        MokoJumbie submitted:

        Still looking into this, but forcibly attempting to remove access to the server during a save yields the results seen in Issue #9147, not the result seen in this bug. Anyone have any luck in reliably reproducing this?

        @MokoJumbie

        MokoJumbie submitted:

        I just got this bug again. No idea why. But this is a huge issue, leading to loss of entered data. It’s really frustrating to see your data behind a grey curtain knowing there is no way to retrieve it before having to reload the page and force yourself to have to enter it all over again. Is there at least some way we can dismiss the ‘Please Wait: Saving…’ dialog so that we can attempt a save at a later time or at least recover some of our data?

        I can confirm that i still have access to the server and the manager in another tab. I have also been able to save to this resource many times recently.

        @MokoJumbie

        MokoJumbie submitted:

        FYI, I noticed in this instance that upon attempting to save, I am getting the following error in my console:

        NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIDOMHTMLDocument.implementation]
        [Break On This Error]   
        ...xt():n.prev()))}}}if(l){if(o.nodeType===3&&r===0){x(true)}if(o.nodeType===1){q=o...
        http://mymodxwebsite.com/assets/components/tinymce/jscripts/tiny_mce/tiny_mce.js?v=225pl (line 1)
        uncaught exception: [object Object]
        

        l’ll report back if i see any other potential causes.

        @wm-simon

        Pfeifakopf submitted:

        I have the same Problem. This happens on multiple sites, if they where upgraded from an older version (< 2.1). Most times it happens in combination with MIGX and editing there something.

        This was referenced

        Nov 20, 2012

        @ghost

        Wanted to add a little more to this — we’re still experiencing this intermittently on a few sites being served from a couple of different server environments. The issue doesn’t seem to be tied to any particular browser, but what we’ve noted is that using Chrome or Safari’s built in developer tools, when we right-click and inspect the «Saving» overlay, by changing the element’s display to «none» we’re able to access the save button again — and clicking it again has worked 100% of the time.

        Obviously it’s not an optimal solution to pass on to our clients, but I’m curious if others are still experiencing this and whether this might narrow down the possible causes.

        @zaigham

        @BlueJayTech I would like to mention that you can use CTRL+S or CTRL+SHIFT+S (windows) as a shortcut to save the content. Not a solution but it will save you going into dev tools for the time being.

        IMO, most probably it is due to network going haywire for split second.

        @andrewcsp

        I just had this issue in MODX 2.4.2 on Firefox 42 and noticed that it coincided with a JS error in Firebug:

        uncaught exception: [object Object]
        domain.com/assets/components/tinymce/jscripts/tiny_mce/tiny_mce.js?v=242pl
        Line 1, col 118324
        

        Inspecting col 118324 in the minified JS file leads me to the statement o.cloneNode(true) in the following code fragment:

        if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}

        Looking at the unminified file, I believe this correlates to line 10336 of https://github.com/splittingred/TinyMCE/blob/develop/assets/components/tinymce/jscripts/tiny_mce/tiny_mce_src.js (node = node.cloneNode(true);

        ...
        
        // Return public methods
        return {
            schema : schema,
        
            addNodeFilter : htmlParser.addNodeFilter,
        
            addAttributeFilter : htmlParser.addAttributeFilter,
        
            onPreProcess : onPreProcess,
        
            onPostProcess : onPostProcess,
        
            serialize : function(node, args) {
                var impl, doc, oldDoc, htmlSerializer, content;
        
                // Explorer won't clone contents of script and style and the
                // selected index of select elements are cleared on a clone operation.
                if (isIE && dom.select('script,style,select,map').length > 0) {
                    content = node.innerHTML;
                    node = node.cloneNode(false);
                    dom.setHTML(node, content);
                } else
                    node = node.cloneNode(true);
        
        ...

        @pixelchutes

        Do you receive any kind of errors saving the same content when TinyMCE is not installed?

        @andrewcsp

        Unfortunately it appears to be an intermittent bug. I was updating a bunch of 10 documents and it happened about 4-5 times within 5 minutes. After that, no problems at all.

        I presume not using TinyMCE will fix the problem. Will try that the next time this problem surfaces.

        For what it’s worth, I don’t think the actual content within the TinyMCE editor is a factor (could be wrong of course). The documents contained one p tag containing 10-20 words. No links, tables, images, nothing fancy at all.

        @OptimusCrime

        I am going to close this for following reasons:

        • Original issue can deal with multiple underlying issues (see below list)
        • Some (sub)problems has to do with extras
        • No error log or extended information.

        The manager interface is heavily ajax-based, now, without inspecting the network data, a wide range of reason could prevent a resource from saving. These include (but not limited to): javascript errors (request is never sent), PHP error (fatal error resulting in invalid JSON response), web server error (apache/nginx fails to deliver response).

        Feel free to comment or reopen if you disagree with my decision.

        @modxbot close

        Большой объем кода — ошибка.

        Login to Post

          • 36423

          • 2 Posts
          • Send PM

          cratte Reply #1, 11 years, 7 months ago

          Здравствуйте.
          При добавлении большого объема информации на новый ресурс modx 2.1.3 выдает ошибку: Произошла ошибка при попытке сохранить ресурс.
          Та же история с чанками и снипетами: если кода много, то выдается ошибка. Modx evo 1.0.0-RC3 c этим объемами справляется «на ура».
          В чем может быть проблема? Это связано с CMS или может в базе нужно какие настройки поменять?

            • 36423

            • 2 Posts
            • Send PM

            cratte Reply #2, 11 years, 7 months ago

            Проблема снята, дела было в настройках базы.

            Помогаю со студенческими работами здесь

            211 строка
            Всем привет. Тут такое дело. Формируется регламентированный отчёт РСВ в ПФР. И у нас для одного…

            Почему printf() выводит в экспоненциальной нотации число 1,581010e-322?
            #include &lt;iostream&gt;
            using namespace std;

            int main()
            {
            setlocale(LC_ALL, &quot;ru&quot;);

            CANON MFY 211
            Нужна помощь CANON MFY 211 катридж 737 пишет рекомендуем подготовить катридж, я уже засыпал тонер…

            Есть файл ресурсов. В ресурс загрузил картинку. Как программно добавить в ресурс файл?
            $R New1.res…button1.click…
            Var my1:TBitMap;
            Res:TResourceStream;
            begin

            гладильная система Hansa HB-211 не включается, гладильная система Hansa HB-211 не включается
            гладильная система Hansa HB-211 при включении может щелкать релюшкой ,в динамике что то трещит ,…

            Konica Minolta bizhub 211 формат бумаги
            Как поменять формат бумаги: в нижний ящик поставить А4, а в верхний А3?
            лазил по менюхам нигде нет…

            Искать еще темы с ответами

            Или воспользуйтесь поиском по форуму:

            Бесконечное сохранение ресурсов в MODX


            27 августа 2018, 22:49

              
            Alex


            MODX Revo

            0

              
            3731






            0



            Недавно возникла проблема в админке MODX при редактированиии и создании нового ресурса.
            При нажатии на кнопку «сохранить», — ресурс начинал бесконечно его сохранять и в консоли вываливались ошибки:

            Uncaught SyntaxError: Unexpected identifier
                at doDecode (ext-all.js:21)
                at Object.decode (ext-all.js:21)
                at Ext.form.Action.Submit.handleResponse (modx.jsgrps-min.js:1)
                at Ext.form.Action.Submit.processResponse (ext-all.js:21)
                at Ext.form.Action.Submit.success (ext-all.js:21)
                at o (ext-all.js:21)
                at Ext.data.Connection.s (ext-all.js:21)
                at HTMLIFrameElement.I (ext-all.js:21)
            

            Проблема была в браузере, а не самом MODX. В Opere всё работало отлично, а в Chrome админка начинала вести себя капризно.

            Бесконечное сохранение ресурсов в MODX

            красная пунктирная линия

            Решение проблемы

            Оказалось, это был просто конфликт с расширением в Chrome под названием «MusVK». Достаточно его отключить и работа сайта нормализуется.


            Поделиться с друзьями


            Похожие статьи:

            MODX ➨ условия if-else
            MODX Shopkeeper 3 — проблема с плагином мультивалютности
            Tickets: как сделать счетчик просмотров всех посетителей
            Правильный файл robots.txt для CMS MODX Revolution
            Правильный файл .htaccess для CMS MODX Revolution

            Комментарии ()


            1. Григорий Komsomol
              13 октября 2018, 12:38
              #



              +1







              Спасибо! Ваша инструкция сэкономила много времени!


              1. Алексей Власов
                13 октября 2018, 18:57
                #




                0







                Спасибо за комментарий! Рад, что помог!

              Вы должны авторизоваться, чтобы оставлять комментарии.

              Вы можете авторизоваться на сайте через:

              YandexVkontakte

              • Главная/
              • Вопрос — ответ

              Произошла ошибка при попытке сохранить ресурс

              Версия MODX: Revolution

              Здравствуйте!
              Установил MODX Revolution локально.
              Все встало нормально. Когда зашел на сайт, вместо белой страницки увидел ошибку 404. Оказалось при установке не было создано документа Home

              Попытался создать дочерний документ, получил ошибку

              Как исправить ситуацию. Попробовал переустановить MODX это не помогло, проблема осталась. В чем может быть дело?

              • Теги:
              • ошибка при попытке сохранить ресурс

              Комментарии (2)

              1. oleg001 27.06.2014 08:32 #

                Привет!
                Блин та же история…http://floomby.ru/s2/fWu5aN не сохраняются ни чанки не сниппеты. Вы не решили этот вопрос? Пробовал обновить модх, обновление прошло, но ошибка так же и осталась. Думаю что проблема в БД.
                Вопрос открыт, знающие напишите что делать, у меня 3 день работа стоит!!!


              2. Amigo 26.11.2015 08:41 #

                Тоже встретил это при создании ресурса. Решил тем, что изменил alias ресурса. Посмотрите при очистке кэша на сообщения вида:
                — Resource URI already exists for resource id = 5420; skipping duplicate resource URI for resource id = 5421
                — Я полагаю из-за дублирования алиасов может возникнуть данная проблема.


                • 4292

                • 15 Posts
                • Send PM

                MODx Revo 2.2.5
                Ошибка при попытке загрузки/обновления пакетов

                Произошла ошибка при подключении к поставщику:MODX получил пустой ответ от поставщика. Пожалуйста, проверьте URL-адрес поставщика и убедитесь, что поставщик является корректным поставщиком.
                

                (ERROR @ /connectors/workspace/packages-rest.php) Could not connect to provider at: http://rest.modx.com/extras/
                

                Проверил url провайдера:

                http://rest.modx.com/extras/
                

                Получил сообщение:

                The page you were looking for doesn't exist.
                You may have mistyped the address or the page may have moved.
                

                Подскажите, что делать.

                [ed. note: bullet last edited this post 10 years, 6 months ago.]

                  • 4292

                  • 15 Posts
                  • Send PM

                  Спасибо за подсказки. На даный момент проблема решена.
                  Сообщение от службы поддержки хостинга:

                  действительно сеть наших адресов блокируется со стороны modx.com
                  скорее всего они используют блек листы от spamhouse, в один из которых попала наша сеть …
                  … на данный момент руководство ведет переговоры по исправлению данной проблемы и мы ждем разблокировки в течение месяца…

                  На данный момент функция обновления/загрузки пакетов работает нормально.

                    • 42686

                    • 2 Posts
                    • Send PM

                    revo 2.2.6-pl
                    У меня выдает предупреждение.
                    «cURL должен быть установлен и настроен как расширение PHP, если вы собираетесь использовать управление пакетами. Информацию по установке и настройке cURL можно найти здесь PHP cURL website.»
                    Управление пакетами не пашет.
                    Что делать?

                      • 42686

                      • 2 Posts
                      • Send PM

                      Quote from: gentim at Jan 31, 2013, 08:17 PM

                      revo 2.2.6-pl
                      У меня выдает предупреждение.
                      «cURL должен быть установлен и настроен как расширение PHP, если вы собираетесь использовать управление пакетами. Информацию по установке и настройке cURL можно найти здесь PHP cURL website.»
                      Управление пакетами не пашет.
                      Что делать?

                      Может кто ответит?((

                      New issue

                      Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

                      By clicking “Sign up for GitHub”, you agree to our terms of service and
                      privacy statement. We’ll occasionally send you account related emails.

                      Already on GitHub?
                      Sign in
                      to your account

                    • Произошла ошибка при попытке создания папки c users public documents ascon
                    • Произошла ошибка при попытке создания отчета оператор или администратор отклонили запрос
                    • Произошла ошибка при попытке создания контрольных точек выбранных виртуальных машин
                    • Произошла ошибка при попытке получения списка виртуальных коммутаторов
                    • Произошла ошибка при попытке подтверждения подписи проекта vba