No estoy seguro de si esto pertenece a VS 2010 o al marco actualizado, pero ... estamos utilizando el proveedor de membresía de Oracle para autenticar usuarios. Antes de la actualización, todo funcionó bien, pero ahora Membership.ValidateUser(user, password)
devuelve false
a pesar de las credenciales válidas. No se lanza ninguna excepción, por lo que es difícil determinar cuál podría ser el problema. La herramienta de administración del sitio web en VS 2010 aún puede administrar usuarios y roles (más o menos), por lo que no tengo motivos para cuestionar la conectividad. ¿Cuál podría ser el problema?Membership.ValidateUser siempre devuelve falso después de la actualización a VS 2010/.NET 4.0
Respuesta
La respuesta (de acuerdo con this post) es especificar hashAlgorithmType="SHA1"
en el Web.config:
<membership defaultProvider="OracleMembershipProvider" hashAlgorithmType="SHA1"/>
Este no resolvió el problema para los usuarios existentes, pero los usuarios recién creados pueden iniciar sesión ahora.
Puede experimentar la disparidad de la máquina.
En web.config, la sección implícita machineKey
utiliza cifrado autogenerado y claves de validación que nuevamente se codifican con el ID de la aplicación (AutoGenerate,IsolateApps
).
¿Está probando con una instancia de aplicación diferente o en otra máquina?
¿El proveedor de membresía de Oracle es 2.0 o 4.0?
Y esto es solo una puñalada en la oscuridad, quizás esto lo lleve a una solución.
De .NET Framework 4 Migration Issues
tipos de miembros
Algunos tipos (por ejemplo, System.Web.Security.MembershipProvider) que se utilizan en la suscripción de ASP.NET se han movido de System.Web.dll el ensamblado System.Web.ApplicationServices.dll. Los tipos se movieron para resolver las dependencias de capas de arquitectura entre los tipos en el cliente y en los SKU de .NET Framework ampliados.
Las bibliotecas de clases que se han actualizado de versiones anteriores de ASP.NET y que usan tipos de membresía que se han movido pueden no compilarse cuando se utilizan en un proyecto ASP.NET 4. Si es así, agregue una referencia en el proyecto de biblioteca de clases a System.Web.ApplicationServices.dll
no tenemos ningún problema compilación, y el problema se produce con Oracle proveedores de membresía 2.0 y 4.0. –
suena un poco como el problema que estoy teniendo ..
Adición de un elemento de machineKey a web.config en lugar de hashAlgorithmType = "SHA1" solucionó el problema .. pero yo todavía no entiendo por qué necesito poner que hay ... no han podido encontrar ninguna documentación, ya sea ..
Se puede extraer de mi pregunta aquí .. The user name or password provided is incorrect. in MVC 3 Internet Application
- 1. HttpContext.Current.User.IsInRole (roleName) siempre devuelve falso
- 2. PHP in_array() siempre devuelve falso
- 3. Android LocationManager.isProviderEnabled() siempre devuelve falso
- 4. getBoolean (EXTRA_NO_CONNECTIVITY) siempre devuelve falso
- 5. SKPaymentQueue canMakePayments siempre devuelve falso
- 6. ¿"instanceof Void" siempre devuelve falso?
- 7. .post dentro de jQuery.validator.addMethod siempre devuelve falso
- 8. La actualización ClickOnce falla después de convertir a .NET 4
- 9. Actualización de un proyecto .Net 2.0 a .Net 4.0
- 10. EntityManager.contains() devuelve falso después de persist()
- 11. .NET 4.0 Framework Requisitos de actualización?
- 12. Actualización de JScript intellisense cuelga VS 2010
- 13. Android 4.0 EditText cursor siempre es invisible para editable = falso
- 14. @@ IDENTIDAD después de la instrucción INSERT siempre devuelve 0
- 15. Sharepoint 2010 Fundación con .Net Framework 4.0
- 16. ¿Cómo puedo agregar un agente de creación VS 2010 .Net 4.0 a TFS 2008
- 17. El inicio de sesión falla después de la actualización a ASP.net 4.0 desde 3.5
- 18. cURL PHP RESTful servicio que siempre devuelve FALSO
- 19. View.isHardwareAccelerated() es siempre falso
- 20. VB .NET vs. VB 2010
- 21. Error de vinculador (solo simulador) con biblioteca propia después de la actualización a iPhone SDK 4.0
- 22. Linq2SQL vs EF en .net Framework 4.0
- 23. .net 4.0 Task Parallel Library vs. MPI.NET
- 24. .net2.0 vs .net 4.0 gdi + diferencia?
- 25. get_browser() devuelve FALSO
- 26. Problema de actualización con WPF .NET 4.0 - líneas verticales negras
- 27. ModelForm is_valid() siempre devuelve falso durante la prueba de la unidad
- 28. proyecto de instalación en Visual Studio 2010 Requiere .NET 4.0
- 29. Cuando mysql_query devuelve falso
- 30. string.matches (". *") Devuelve falso
Supongo que para los usuarios recién creados, agregar 'hashAlgorithmType' es una pista falsa. Intenta agregar y autenticar a un nuevo usuario sin él. Sospecho que el problema está relacionado con la clave del equipo autogenerado. Estoy escribiendo algunas pruebas. actualizará la respuesta. –
Los usuarios recién creados podrían autenticarse en otro cuadro (desarrollo), por lo que creo que el hashAlgorithmType solucionó el problema. –
@nw - gracias por esta respuesta ya que tuve el mismo problema y estaba golpeando mi cabeza contra la pared durante horas. No parece haber ninguna documentación sobre tener que hacer este cambio al actualizar a .NET 4.0. – leora