2010-05-30 4 views
11

He instalado una aplicación de formularios web ASP.NET 4.0 en IIS 7.5. Si configuro el grupo de aplicaciones en DefaultAppPool (.NET Framework 2.0) obtengo los iconos para Proveedores, .NET-Roles y .NET-Usuarios en la página de configuración de la aplicación en IIS Manager y puedo administrar usuarios y roles dentro de IIS. (Estoy usando la autenticación de formularios.)Cómo agregar usuarios en el Administrador de IIS para una aplicación ASP.NET 4.0?

Pero si fijo el grupo de aplicaciones ASP.NET v4.0 Puedo obtener un problema: Al hacer doble clic en los iconos para los usuarios o roles en el Administrador de IIS lanza una narración de error que no puedo usar estas funciones ya que no se puede determinar que los proveedores sean confiables. Si fijo en administration.config en los trustedProviders sección allowUntrustedProviders = "true" y haga doble clic de nuevo en uno de los iconos me sale el error de que el ensamblaje System.Web , versión 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a no se pudo encontrar. Si reinicio IIS Manager, los iconos desaparecen por completo.

.NET Framework 4.0 definitivamente está instalado. Entonces, todo esto es bastante confuso. Sé que .NET 4 usa otro GAC que el anterior para .NET 2-3. ¿Podría ser posible que el Administrador de IIS no pueda encontrar el nuevo GAC para .NET 4? ¿Debo agregar algunos de los nuevos ensamblados 4.0 a administration.config? ¿Hay alguna otra forma de agregar usuarios y roles en lugar de IIS?

¡Gracias por la ayuda con anticipación!

Respuesta

9

Desafortunadamente, actualmente esas características no son compatibles si su grupo de aplicaciones está usando .NET 4.0 ya que eso requeriría que el Administrador de IIS cargue el marco .NET 4.0 para llamar a los proveedores adecuados (y es por eso que los usuarios de .NET/Membresía, Roles .NET, etc.), y no es posible dado que el Administrador IIS es una aplicación .NET 2.0.

Así que, por ahora, no hay una buena solución, aparte de cambiar su Application Pool temporalmente a 2.0 y agregarlos y luego volver a 4.0. Pero, por supuesto, no deberías hacer esto a menos que sea solo una máquina de desarrollo.

De lo contrario, podría compilar una página utilizando el control CreateUserWizard y usar los controles de inicio de sesión integrados de ASP.NET que deberían ser una línea (de marcado) para obtener una funcionalidad similar.

+0

Gracias por su respuesta!Mi aplicación tiene una administración de usuarios. Los usuarios con derechos administrativos pueden crear cuentas en el sitio web. Mi problema era solo crear la primera cuenta para el primer administrador. Para esto, quería usar IIS. Pero lo he resuelto de forma muy similar a como lo describes: configurar temporalmente el grupo de aplicaciones en .NET 2.0. Recuerdo que también tuve que deshabilitar el atributo targetframework (4.0) en web.config temporalmente para que funcione. Así que está bien por ahora. Espero (y supongo) que la gestión de usuarios/roles de una aplicación .NET 4.0 sea compatible en la próxima versión de IIS. – Slauma

+0

Eso es algo que definitivamente estamos buscando. –

10

Hay una solución simple que es mucho más fácil que crear páginas de administración.

  1. Cree un sitio nuevo en su servidor. Puede llamarlo MembershipAdminstrationYourActualSiteName. El enlace no importa, ya que no ejecutará ninguna página en este sitio, pero asegúrese de que se ejecute en el grupo de aplicaciones predeterminado 2.0.

  2. Copie el archivo web.config de su sitio 4.0 en la carpeta del nuevo sitio. Edite el archivo eliminando todo, excepto las secciones connectionString, authentication, memebership, roleManager y profile.

  3. Ahora en Administrador de IIS acceda a Roles de .NET y usuarios de .NET. Suponiendo que haya editado correctamente el archivo web.config, debería ver los usuarios y las funciones de su aplicación 4.0.

Cuestiones relacionadas