通过 Microsoft.Web.Administration 使用用户名/密码创建应用程序池
本文关键字:密码 创建 应用 程序池 应用程序 用户 Web Microsoft Administration 通过 | 更新日期: 2023-09-27 18:31:55
我使用以下代码创建应用程序池:
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]" />
看起来密码在通过代码创建时会以不同的方式加密,但我在网络上没有找到任何有关此主题的内容。
我做错了什么或我需要做什么才能使代码工作?
我试图重现它,它一直有效。很抱歉以下问题,但它发生在我自己身上几次:
您绝对确定您指定了正确的密码吗?
您可以使用用户名和密码创建应用程序池,如下所示
using (ServerManager serverManager = new ServerManager())
{
ApplicationPool newPool = serverManager.ApplicationPools.Add("Poolnam1");
newPool.ManagedRuntimeVersion = "v4.0";
newPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
newPool.ProcessModel.UserName = accountUserName;
newPool.ProcessModel.Password = accountPassword;
serverManager.CommitChanges();
}