2012-08-29 13 views
9

quiero poder usar la misma base de datos para la aplicación que los detalles de membresía asp para autenticación de formularios. Actualmente estoy usando MVC4. Cuando comencé y agregué system.web.providers a mi proyecto, obtuve una conexión predeterminada separada. He modificado la cadena para que apunte a la misma base de datos que la que está siendo utilizada en mi aplicación (entidad de marco).MVC4 ExtendedMembershipProvider y entityframework

debo esperar los proveedores a autocreate las tablas en esta base de datos es decir

  • webpages_Membership
  • PerfilUsuario
  • webpages_Roles
  • webpages_OAuthMembership

Actualmente estoy recibiendo ...

llamar a este método, la propiedad "Membership.Provider" debe ser una instancia de "ExtendedMembershipProvider"

cuando intento registrar un nuevo usuario a través de la plantilla de aplicación mvc4 defecto. Y las tablas están ausentes.

respecto Tim

Respuesta

12

El problema aquí es que la plantilla predeterminada de internet mvc4 está utilizando simplemembership para administrar la información de membresía/roles. el código en la plantilla tiene esta asunción y solo puede funcionar con membresía simple. cuando instala proveedores universales, el código del controlador de la cuenta explota ya que no puede entender a los proveedores universales. mira esta publicación que explica más detalladamente en este escenario http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

+0

aplaude a pranav, detecta el problema de proveedores universales y lo elimina. he resuelto este problema, ahora solo necesito resolver que tengo dos cadenas de conexión en mi webconfig, tengo una para la conexión de la estructura de la entidad y otra que es una cadena normal (no una cadena de conexión EF) apuntando a la misma base de datos para webpages_tables (tablas de proveedor simplemembership) – Tim

+0

+1 Gracias por el enlace. He estado tratando de entender qué era diferente con las tablas de membresía de MVC4 y qué cambió. "WSAT está diseñado para trabajar con la membresía de ASP.NET y no es compatible con la membresía simple". del artículo y otra información ayudó a aclarar eso. – Aligned

+1

@Tim, ya que EF 4.1 (si no está equivocado) puede utilizar las clases POCO y derivadas 'DbContext'. Si utiliza el constructor 'DbContext (" connStringName ")' y 'WebSecurity.InitializeDatabaseConnection (" connStringName "...)' definitivamente usa una cadena de conexión. – CallMeLaNN

2

tengo el mismo problema,

sin embargo la mía no está resuelto, pero muchas personas dicen que añadir esto a su web.config

<add key="enableSimpleMembership" value="false"/> 
<add key="autoFormsAuthentication" value="false"/> 

y si Eso no No funciona, intenta hacer que el más alto también sea verdad.

Cuestiones relacionadas