2010-11-08 39 views
2

如何在IIS7中自動創建用戶?在IIS7中自動創建用戶

我正在使用C#。我有自動創建網站的代碼,並且我找到了一些自動創建FTP站點的例子。

我還需要爲每個創建的FTP站點自動創建一個IIS用戶。

我可能只是編輯管理.config文件,我可以爲每個新用戶添加另一個元素,但我不知道如何設置密碼屬性,這是編碼。此外,還有一個更簡單更可靠的方法來做到這一點。

我需要設置的FTP用戶不與任何網站相關聯。這些用戶只能登錄到FTP站點,而不能登錄到任何網站。

要手動添加一個用戶,我可以運行功能「IIS管理器用戶」,然後只需點擊「添加用戶...」

這增加了配置文件中的條目,因爲我提到我原來的帖子。

然後,我通過爲該用戶添加FTP授權規則,將該用戶關聯到我的FTP站點。

至於我目前的配置......在IIS7中,在管理服務下的「身份憑證」下,我選擇了「Windows憑證或IIS管理員憑證」。

回答

2

如果需要添加用戶Administration.config您可以使用API​​中Microsoft.Web.Management.dll ManagementAuthentication.CreateUser,下面的博客顯示瞭如何從PowerShell中稱:http://blogs.msdn.com/b/carlosag/archive/2009/10/23/adding-iis-manager-users-and-permissions-through-powershell.aspx

要添加FTP授權規則可以使用Microsoft.Web.Administration.dll。有關如何執行此操作的示例,請參閱:http://www.iis.net/ConfigReference/system.ftpServer/security/authorization

還可以考慮使用配置編輯器生成代碼以自動更改IIS配置。 http://blogs.iis.net/webdevelopertips/archive/2009/01/11/tip-42-did-you-know-configurationeditor-allows-you-to-generate-c-javascript-or-appcmd-script-to-update-configuration.aspx

+0

我嘗試過使用Microsoft.Web.Manager.dll,但是當我去添加引用時,我找不到那個dll,我本來期望在框架中......但是我在inetsrv中發現它目錄,所以我將它複製到我的項目目錄並添加了引用。 (有些東西告訴我這不是添加引用的正確方法)。然後,我調用了ManagementAuthentication.CreateUser(),並得到以下錯誤:無法讀取配置節'system.webServer/management/authentication',因爲它缺少段聲明 – Joe 2010-11-09 14:34:57

+0

另外,我正在使用配置編輯器,但它看起來並不像我有權訪問管理配置文件,如示例所示。 – Joe 2010-11-09 15:23:28

+0

確實配置編輯器不公開Administration.config,但使用應位於%windir%\ system32 \ inetsrv \中的Microsoft.Web.Management.dll是最佳選擇,因爲它將支持自定義提供程序(如果存儲了用戶在SQL或其他存儲中)。 – 2010-11-09 16:32:56

0

的答案是使用:

Microsoft.Web.Management.Server.ManagementAuthentication.CreateUser(用戶名,密碼);

此方法將爲我們編碼密碼。

+1

您是否閱讀過我的回覆?這正是我10天前所說的。 – 2010-11-19 05:44:21