在IIS7中自动创建用户

在IIS7中自动创建用户,iis,iis-7,ftp,iis-7.5,Iis,Iis 7,Ftp,Iis 7.5,如何在IIS7中自动创建用户 我用的是C。我有自动创建网站的代码,我找到了一些自动创建FTP站点的示例 我还需要为我创建的每个FTP站点自动创建IIS用户 我可以编辑administration.config文件,在下面我可以为每个新用户添加另一个元素,但我不知道如何设置密码属性,它是编码的。另外,必须有一个更简单更可靠的方法来做到这一点 我需要设置的FTP用户与任何网站都没有关联。这些用户只会登录FTP站点,而不会登录任何网站 要手动添加用户,我可以运行“IIS管理器用户”功能,然后只需单击“

如何在IIS7中自动创建用户

我用的是C。我有自动创建网站的代码,我找到了一些自动创建FTP站点的示例

我还需要为我创建的每个FTP站点自动创建IIS用户

我可以编辑administration.config文件,在下面我可以为每个新用户添加另一个元素,但我不知道如何设置密码属性,它是编码的。另外,必须有一个更简单更可靠的方法来做到这一点

我需要设置的FTP用户与任何网站都没有关联。这些用户只会登录FTP站点,而不会登录任何网站

要手动添加用户,我可以运行“IIS管理器用户”功能,然后只需单击“添加用户…”

这将向配置文件中添加一个条目,正如我在原始帖子中提到的

然后,通过为该用户添加ftp授权规则,将该用户与我的ftp站点相关联


至于我目前的配置。。。在IIS7的“管理服务”下的“标识凭据”下,我选择了“Windows凭据或IIS管理器凭据”。

要将用户添加到Administration.config,您可以使用Microsoft.Web.Management.dll ManagementAuthentication.CreateUser中的API,以下博客显示了如何从POwerShell调用它:

要添加FTP授权规则,可以使用Microsoft.Web.Administration.dll。请参阅:有关如何执行此操作的示例

还考虑使用配置编辑器生成代码来自动化对IIS配置的更改。 答案是使用:

Microsoft.Web.Management.Server.ManagementAuthentication.CreateUser(用户名、密码)


此方法将为我们编码密码。

我尝试使用Microsoft.Web.Manager.dll,但当我添加引用时,我找不到该dll,我希望该dll位于框架中。。。但是我在inetsrv目录中找到了它,所以我将它复制到我的项目目录并添加了引用。(有人告诉我,这不是添加引用的正确方法)。然后,我调用ManagementAuthentication.CreateUser()并得到以下错误:无法读取配置节“system.webServer/management/authentication”,因为它缺少一个节声明。因此,我正在使用配置编辑器,但看起来我无法访问administration.config文件,如示例所示。实际上,配置编辑器不公开Administration.config,但使用Microsoft.Web.Management.dll(应位于%windir%\system32\inetsrv\中)是最好的选择,因为它将支持自定义提供程序(如果用户存储在SQL或其他存储中)。当我使用Microsoft.Web.Management.dll并调用ManagementAuthentication.CreateUser()时,在每台我尝试使用它的计算机上,我仍然会收到错误:无法读取配置节“system.webServer/Management/authentication”,因为它缺少节声明。有什么想法吗?是的,在64位机器的32位进程中运行此代码时存在一个已知问题。如果您使用的是Visual Studio,则需要关闭调试下的“启用Visual Studio主机进程”复选框,或者仅从64位进程运行它。您是否阅读了上面的回答?这正是我10天前说的。