Estoy creando un sitio web (fútbol, fútbol) en ASP.NET MVC3 y quiero tener usuarios (con información adicional, luego usuario en membresía predeterminada, estos son visitantes ordinarios) y jugadores que creo que es mejor thet ellos heredarían usuarios y tendrían alguna información adicional como número de vestimenta, ... Los jugadores también podrían publicar artículos, los usuarios solo pueden comentar artículos. ¿Cuál es la mejor manera de hacer esto? ¿Debo usar el proveedor de membresía predeterminado o debo hacer las mías o usar algunas soluciones de terceros? ¿Y puede publicar algunos artículos y tutoriales para cambiar el proveedor o artículo original por crear su propio proveedor de asp.net MVC3? ¿O es lo mismo que MVC2?Membresía personalizada o no
Respuesta
Es muy fácil crear su propio proveedor de membresía. Simplemente crea una clase derivada de MembershipProvider. E implemente miembros que examinen DB, por ejemplo (o cualquier otra fuente de datos).
public class YourMembershipClass: MembershipProvider
{
public override bool ValidateUser(string username, string password)
{
return YourDataLayer.ValidateUser(username, password);
}
public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)
{
return YourDataLayer.GetSpecificUser(providerUserKey, userIsOnline);
}
// Implement the other methods as well
}
A continuación, añadir sus YourMembershipClass a web.config:
<membership defaultProvider="MlgMembership">
<providers>
<clear />
<add name="CustomMembership" type="YourMembershipClass" enablePasswordRetrieval="false" />
</providers>
</membership>
Eche un vistazo a este soccer Club Site asp.net starter kit.
Aconsejo implementar su propio proveedor de membresía, significa implementar solo los bits que necesita y forma una base para toda su administración de usuarios.
El proveedor de Membresía es el mismo para WebForms y MVC, hay bastantes ejemplos en SO y Google.
Si usted está buscando para almacenar información de tipo de perfil, por ejemplo, nombre, apellido, título del trabajo, etc., contra cada usuario, entonces usted debería poder usar el sistema Profile
integrado en la Membresía ASP.NET. Si está buscando almacenar más información relacionada con la identidad, entonces sí, tendrá que crear algún tipo de proveedor de membresía personalizado. Hay un buen video sobre cómo crear un proveedor personalizado en el sitio web ASP.NET: http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider
En cuanto a permitir que diferentes tipos de usuarios realicen diferentes acciones, puede usar el sistema Roles
integrado en la Membresía ASP.NET. Puede indicar a sus métodos de acción que solo permitan llamadas de usuarios en ciertos roles. Por ejemplo, si tiene un método de acción PostArticle y sólo quería jugadores para poder acceder a él tendría algo como esto:
[Authorize(Roles="Player")]
public ActionResult PostArtcile(){
return View();
}
El atributo Authorize
dice MVC sólo para permitir a los usuarios autenticados en el papel del "jugador" para llamar al método de acción. Aún deberá restringir la disponibilidad de un enlace para publicar un artículo en su interfaz, pero existen varias formas de hacerlo.
Hay una gran serie de artículos escritos por Scott Mitchell, que cubre toda la membresía cosas en base: http://www.4guysfromrolla.com/articles/120705-1.aspx
que recomendamos que:
- proveedor de
usar la pertenencia a simplemente tratar con registro de usuarios y autenticación. Y dejar que tome el cuidado de telas de seguridad de usuario (contraseña resto, validar usuario ....)
A continuación, utilizar los roles de separar sus usuarios a sus funciones ("Los jugadores, normalUsers, ..").
Y NUNCA uso proveedor de perfil causa que costó tantos tráfico que no desea y en lugar de que usted podría hacer su tabla personalizada en la base de datos para almacenar la información de adicional.
Luego puede usar EF o cualquier ORM para obtener esta información siempre que lo desee.
- No olvide utilizar los atributos de autorización
[Authorize(Roles="Players")]
en sus Controladores y Acciones dependiendo de las Funciones.
- 1. Membresía personalizada de Orchard CMS
- 2. membresía personalizada de ASP.NET MVC para principiantes
- 3. asp.net mvc y membresía personalizada y proveedores de roles
- 4. Control de inicio de sesión y proveedor de membresía personalizada
- 5. ¿Cómo agrego más campos personalizados usando membresía personalizada en mvc?
- 6. Membresía burlona
- 7. .NET Membresía personalizada vs. Inicio de sesión/registro personalizado: Autenticación/Autorización
- 8. Membresía, Membresía Proveedor y Membresía ¿Relaciones con el usuario en ASP.NET?
- 9. Membresía y evento API? ¿O debería hacerlo yo mismo?
- 10. Proporcionar funcionalidad de base de datos personalizada al proveedor de membresía de asp.net personalizado
- 11. Agregar membresía grupal al proveedor de Membresía/Roles personalizado
- 12. Alternativas de membresía ASP.NET
- 13. ASP.Net MVC personalizada autenticación
- 14. lista vinculada php spl o personalizada?
- 15. ¿Excepción estándar o personalizada en C++?
- 16. ¿Crear excepción personalizada o usar excepciones integradas?
- 17. ASP.NET SQL Membresía Tablas
- 18. onDraw personalizada() no se llama
- 19. Mi fuente personalizada no muestra
- 20. membresía de grupo anidado ldap
- 21. AccountController Ampliación: ASP.NET MVC membresía
- 22. La contraseña de cambio de membresía ASP.NET no funciona
- 23. Anulación de la membresía ASP.NET en ASP.NET MVC 4
- 24. ¿Alguien usa membresía ASP .NET?
- 25. Perfiles de ASP.net y membresía - ¿Proveedores personalizados o debería completar por completo el mío?
- 26. ¿Cómo puedo probar la membresía de Asp.net?
- 27. Perfil de membresía de ASP.NET
- 28. Usar membresía ASP.NET en ServiceStack
- 29. Membresía de Asp.net - Cuentas bloqueadas
- 30. membresía ASP.net - añadiendo un papel