2010-11-08 36 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