【发布时间】:2013-09-19 15:04:46
【问题描述】:
我正在使用以下代码来创建应用程序池:
var appPool = serverManager.ApplicationPools.Add(Name);
appPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
appPool.ProcessModel.UserName = UserName;
appPool.ProcessModel.Password = Password;
serverManager.CommitChanges();
但不知何故,密码出了点问题,我不知道是什么。 当我查看 applicationHost.config 生成的 xml 如下所示:
<processModel
identityType="SpecificUser"
userName="domain1\user1"
password="[enc:IISWASOnlyAesProvider:6RqsTbCqVXXnr37jLOrOjg==:enc]" />
如果我通过 IIS 管理器手动添加相同的用户 (domain1\user1),xml 看起来像这样:
<processModel
identityType="SpecificUser"
userName="domain1\user1"
password="[enc:IISWASOnlyAesProvider:OCkfPehXB3p8ahXXtaoW3vLTpFY/EbW5IFo39h5iVE2azpJXXvkArbeeuwI5bvBG:enc]" />
看起来密码在通过代码创建时以不同的方式加密,但我在网络上没有找到任何与此相关的主题。
我做错了什么或者我需要做什么才能使代码正常工作?
【问题讨论】:
-
似乎两个密码都由同一个 IISWASOnlyAesProvider 加密,它使用 RSA 加密会话密钥 (technet.microsoft.com/en-us/library/dd163536.aspx) 使用 AES 加密。如果您确定提供了相同的密码,那么唯一可能的解释是使用不同的 RSA 密钥进行加密。尝试在使用相同密钥的方向进行调查或更改默认加密提供程序。
标签: c# .net iis-7.5 web-administration