Vengo de 5 años de experiencia con formularios web ASP.NET, y soy nuevo en ASP.NET MVC. Ahora intento aprender MVC con algunos tutoriales, videos tutoriales y libros.
Estoy usando Visual Studio 2012 y la nueva ASP.NET MVC 4 para crear una pequeña aplicación web para administrar mi cartera de fondos mutuos. Esto debería permitirme entrar en el nuevo patrón y aprender muchas cosas nuevas ...
Mi aplicación también debería permitir que otros amigos hagan lo mismo. Por lo tanto, tiene que administrar diferentes portafolios de usuarios.
He creado una pequeña base de datos con Entity Framework Code First, así que tengo algunos modelos básicos: Fondo, Portafolio, Compartir, Depósito, Fuente y Usuario. Un usuario puede tener muchas carteras con muchos fondos dentro de ellas. Cada usuario tiene su propia lista de depósitos. Cada fondo tiene muchos valores compartidos (uno/día).
El modelo de origen es simplemente una tabla donde pongo una URL para cada fuente de sitio web para compartir datos de un fondo específico. Entonces, un fondo tiene muchas fuentes. Luego uso una clase de raspador para obtener datos de esos sitios web una vez al día.
Esta es la estructura principal de la aplicación. Ahora, necesito saber cuál sería la mejor manera de:ASP.NET MVC Cómo administrar el contenido del usuario utilizando el proveedor de membresía ASP.NET
1) Administrar la cuenta de un usuario.
¿Debo integrar la estructura de la base de datos de membresías de ASP.NET en mi base de datos y usarla en lugar de mi tabla de usuarios personalizada para administrar usuarios?
2) Manejo de contenido de usuario: carteras, fondos, etc.
¿Cuál es el más fácil dey más elegante forma en el patrón MVC, para implementar la autenticación y todas las validaciones de autorización para que el usuario conseguir sus propios datos? ¿Debo verificar esto dentro de cada acción en cada controlador?
Entonces, en otras palabras, ¿cómo debo implementar mis controladores? Por ejemplo:
[Authorize]
public class PortfolioController : Controller
{
private FundMonitorContext db = new FundMonitorContext();
public ActionResult Index()
{
// Check user ID and give back to the view only his portfolios...
var portfolio = db.Portfolios.List();
return View(portfolio.ToList());
}
...
public ActionResult Details(int id = 0)
{
...
}
//Other actions...
}
¡Realmente agradecería cualquier sugerencia!
checkout simplemembershipprovider 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, es una versión más flexible de los proveedores de membresía proporcionada por microsoft –
Bastante interesante. Lo intentaré ... También soy nuevo para los Proveedores de Membresía ASP.NET, ya que he desarrollado la mayoría de mis aplicaciones usando Oracle DB y tablas personalizadas de Usuarios y Perfiles. –