【问题标题】:How to add users in IIS Manager for an ASP.NET 4.0 application?如何在 IIS 管理器中为 ASP.NET 4.0 应用程序添加用户?
【发布时间】:2011-02-25 18:14:13
【问题描述】:

我在 IIS 7.5 中安装了一个 ASP.NET 4.0 Web 表单应用程序。如果我将应用程序池设置为 DefaultAppPool (.NET Framework 2.0),我会在配置页面上显示 Providers、.NET-Roles 和 .NET-Users 的图标IIS 管理器中的应用程序,我可以管理 IIS 中的用户和角色。 (我正在使用表单身份验证。)

但是如果我将应用程序池设置为 ASP.NET v4.0 我会遇到问题:双击 IIS 管理器中的用户或角色的图标会抛出一个错误,告诉我我无法使用这些功能,因为无法将提供者确定为受信任。如果我在 trustedProviders 部分 allowUntrustedProviders="true"administration.config 中设置并再次双击其中一个图标,我会收到错误消息无法找到程序集 System.Web, Version 4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a。如果我重新启动 IIS 管理器,图标会完全消失。

.NET Framework 4.0 肯定是安装的。所以这一切都很令人困惑。我知道 .NET 4 使用的 GAC 不同于 .NET 2-3 的旧 GAC。 IIS 管理器是否有可能无法找到适用于 .NET 4 的新 GAC?我是否必须将一些新的 4.0 程序集添加到 administration.config 中?是否有其他方法可以代替 IIS 添加用户和角色?

提前感谢您的帮助!

【问题讨论】:

    标签: asp.net iis iis-7 asp.net-4.0 iis-manager


    【解决方案1】:

    有一个简单的解决方法,它比构建管理页面要容易得多。

    1. 在您的服务器上创建一个新站点。您可以将其命名为 MembershipAdminstrationYourActualSiteName。绑定无关紧要,因为您不会在此站点上执行任何页面,但请确保它在 2.0 默认应用程序池中运行。

    2. 将 web.config 从 4.0 站点复制到新站点的文件夹。编辑文件,删除除连接字符串、身份验证、成员身份、角色管理器和配置文件部分之外的所有内容。

    3. 现在在 IIS 管理器中访问 .NET 角色和 .NET 用户。假设您正确编辑了 web.config 文件,您应该会看到 4.0 应用程序的用户和角色。

    【讨论】:

      【解决方案2】:

      不幸的是,如果您的应用程序池使用 .NET 4.0,则目前不支持这些功能,因为这需要 IIS 管理器加载 .NET 4.0 框架才能调用正确的提供程序(这就是 .NET 用户/成员资格的原因, .NET Roles 等),这是不可能的,因为 IIS 管理器是一个 .NET 2.0 应用程序。

      所以目前没有好的解决方法,除了将您的应用程序池临时更改为 2.0 并添加它们,然后切换回 4.0。但是当然你不应该这样做,除非它只是一个开发机器。

      否则,您可以使用 CreateUserWizard 控件构建页面并使用 ASP.NET 中的内置登录控件,该控件应该是一行(标记)以获得类似的功能。

      【讨论】:

      • 感谢您的回复!我的应用程序有一个用户管理,具有管理权限的用户可以在网站上创建帐户。我的问题只是为第一个管理员创建第一个帐户。为此,我想使用 IIS。但是我已经解决了它,就像你描述的那样:将应用程序池临时设置为 .NET 2.0。我记得我还必须暂时禁用 web.config 中的 targetframework 属性(4.0)才能使其正常工作。所以现在没关系。我希望(并且猜测).NET 4.0 应用程序的用户/角色管理将在 IIS 的下一个版本中得到支持。
      • 这绝对是我们正在研究的问题。
      猜你喜欢
      • 2011-06-20
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多