Azure Web 应用程序的用户权限问题(ApplicationPool - Identity)
Issue with user permissions on azure web app (ApplicationPool - Identity)
我正在尝试以编程方式更改托管我的 Azure Web 应用程序的 IIS 服务器的 ApplicationPool - Identity 属性。
我为什么要这样做?
我需要提供 X.509 证书。实施此证书需要一些本地系统数据。
到目前为止我做了什么?
我使用这个特定的代码(与这里的代码几乎相同)
private void SetAppPoolIdentity()
{
string appPoolUser = "myRDP_admin_user";
string appPoolPass = "my_super_secure_password";
Action<string> iis7fix = (appPoolName) =>
{
bool committed = false;
while (!committed)
{
try
{
using (ServerManager sm = new ServerManager())
{
var applicationPool = sm.ApplicationPools[appPoolName];
applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
//applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.LocalSystem;
applicationPool.ProcessModel.UserName = appPoolUser;
applicationPool.ProcessModel.Password = appPoolPass;
sm.CommitChanges();
committed = true;
}
}
catch (FileLoadException fle)
{
Trace.TraceError("Trying again because: " + fle.Message);
}
}
};
var appPoolNames = new ServerManager().Sites.First().Applications.Select(x => x.ApplicationPoolName).ToList();
appPoolNames.ForEach(iis7fix);
}
我的问题是我的用户没有足够的权限将 ApplicationPool - Identity 更改为 LocalSystem。
而且我没有 Azure 托管 Web 应用程序上特定用户(管理员或本地管理员)的用户名和密码。
欢迎任何不同的方法、想法或解决方法。
您不能更改运行 Azure Web 应用程序的应用程序池标识。 Web 应用程序在通常不允许此类修改的 sandboxed environment 中执行。
有多种上传证书的方法,如果这是您要实现的目标,您可能想具体询问这个问题。
我正在尝试以编程方式更改托管我的 Azure Web 应用程序的 IIS 服务器的 ApplicationPool - Identity 属性。
我为什么要这样做?
我需要提供 X.509 证书。实施此证书需要一些本地系统数据。
到目前为止我做了什么?
我使用这个特定的代码(与这里的代码几乎相同)
private void SetAppPoolIdentity()
{
string appPoolUser = "myRDP_admin_user";
string appPoolPass = "my_super_secure_password";
Action<string> iis7fix = (appPoolName) =>
{
bool committed = false;
while (!committed)
{
try
{
using (ServerManager sm = new ServerManager())
{
var applicationPool = sm.ApplicationPools[appPoolName];
applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
//applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.LocalSystem;
applicationPool.ProcessModel.UserName = appPoolUser;
applicationPool.ProcessModel.Password = appPoolPass;
sm.CommitChanges();
committed = true;
}
}
catch (FileLoadException fle)
{
Trace.TraceError("Trying again because: " + fle.Message);
}
}
};
var appPoolNames = new ServerManager().Sites.First().Applications.Select(x => x.ApplicationPoolName).ToList();
appPoolNames.ForEach(iis7fix);
}
我的问题是我的用户没有足够的权限将 ApplicationPool - Identity 更改为 LocalSystem。
而且我没有 Azure 托管 Web 应用程序上特定用户(管理员或本地管理员)的用户名和密码。
欢迎任何不同的方法、想法或解决方法。
您不能更改运行 Azure Web 应用程序的应用程序池标识。 Web 应用程序在通常不允许此类修改的 sandboxed environment 中执行。
有多种上传证书的方法,如果这是您要实现的目标,您可能想具体询问这个问题。