Как изменить поставщика шифрования паролей IIS Express Virtual Directory?

В Visual Studio 2012 я работаю над приложением ASP.NET MVC, для которого требуется виртуальный каталог в главном каталоге приложения под названием "Shared". Это указывает на путь UNC, поэтому мне нужно также указать имя пользователя и пароль для доступа к пути.

Я делаю это с помощью следующей команды:

C:\Program Files\IIS Express> AppCmd.exe SET VDir /username:"DOMAIN\user" /password:"Password"

Но когда я запускаю приложение, я получаю следующую ошибку конфигурации при попытке доступа к виртуальному каталогу Shared:

Failed to decrypt attribute 'password' because the keyset does not exist

Экран ошибки затем выделяет соответствующий <virtualDirectory> элемент в моем applicationHost.config файл:

<virtualDirectory path="/Shared" physicalPath="\\MyNAS\MyUNCPath\Shared" userName="DOMAIN\user" password="[enc:RsaProtectedConfigurationProvider:ALONGENCRYPTIONSTRINGISHERE==:enc]" />

Теперь я безумно гуглял в течение нескольких часов, и я видел несколько комментариев, указывающих, что тип шифрования по умолчанию (правильный?) Для моего пароля в этом сценарии должен быть "AesProvider", а не "RsaProtectedConfigurationProvider". Но, похоже, нет никакого способа явно объявить поставщика шифрования, который будет использоваться при установке пароля.

В случае, если это полезно, список поставщиков в моем applicationHost.config выглядит так:

<configProtectedData>
    <providers>
        <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
        <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="ALONGENCRYPTIONKEYSTRINGISHERE" />
        <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="ANOTHERENCRYPTIONKEYSTRINGISHERE" />
    </providers>
</configProtectedData>

Моя интуиция говорит, что здесь какая-то неверная конфигурация, но я не знаю, как определить и устранить проблему. Есть идеи?

0 ответов

Другие вопросы по тегам