如何以程序方式使用ServerManager允许IIS管理器用户访问IIS网站



我想允许现有IIS管理器用户使用C#访问IIS网站。

任何人都可以共享示例代码。这真的很有帮助。

看看我想以编程方式添加这些用户的图像。

谢谢,Jaswanth

我的建议是不要使用ServerManager,尽管通过配置API可以做到这一点,但您不会尊重IIS用户支持的提供程序模型。例如,某人可能有一个"SQL Server"数据库提供程序,然后配置中的用户真的无法工作。

要正确执行此操作,请使用Microsoft.Web.Management.dll(在windows\system32\inetsrv中)文件夹中的API,称为ManagementAuthentication,它有两种方法:CreateUser和Grant。

几年前,我写了一篇关于如何从PowerShell调用它们的博客:http://blogs.msdn.com/b/carlosag/archive/2009/10/23/adding-iis-manager-users-and-permissions-through-powershell.aspx

但打电话给他们很容易:

Microsoft.Web.Management.Server.ManagementAuthentication.CreateUser("MyUser", "ThePassword");
Microsoft.Web.Management.Server.ManagementAuthorization.Grant("MyUser", "Default Web Site", false); 

这将正确使用配置的提供程序,如果使用默认配置提供程序,则会将其保存在Administration.config中,但如果它在其他地方,则会执行正确的操作(例如将数据插入数据库或其他地方)。

我最终做了以下几件事。powershell的第一部分,根据Carlos:的建议

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Management") 
[Microsoft.Web.Management.Server.ManagementAuthentication]::CreateUser("MyUser", "abc123")
[Microsoft.Web.Management.Server.ManagementAuthorization]::Grant("MyUser", "MyFtpSite", $FALSE)

然后从命令行:

appcmd.exe set config "MyFtpSite" -section:system.ftpServer/security/authorization /+"[accessType='Allow',users='MyUser',permissions='Read, Write']" /commit:apphost

所有这些结合在一起,我可以添加一个新的IIS管理器用户,并赋予它访问我的FTP站点的权限。

有关详细信息,请访问Microsoft网站。

相关内容

  • 没有找到相关文章

最新更新