我有5年的ASP.NET Web Forms经验,对于ASP.NET MVC还是新手。现在我正在尝试通过教程、视频教程和书籍学习MVC。
我使用Visual Studio 2012和全新的ASP.NET MVC 4来构建一个小型Web应用程序来管理我的共同基金组合。这将让我进入新模式并学习很多新东西...
我的应用程序还应该让其他朋友这样做。所以它必须能够管理不同用户的投资组合。
我用Entity Framework Code First构建了一个小型数据库,因此我有一些基本模型:Fund、Portfolio、Share、Deposit、Source和User。一个用户可以拥有许多投资组合,里面有许多基金。每个用户都有自己的存款列表。每个基金有许多份额价值(一天/一个)。
Source模型只是一个表格,其中我为每个网站源放置一个URL,以获取特定基金的股票数据。因此,一个基金有多个来源。然后,我使用Scraper类每天从这些网站获取数据。
这是应用程序的主要结构。现在,我需要知道最好的方法是:
1)管理用户账户。
我应该将ASP.NET成员身份数据库结构集成到我的数据库中,以代替我的自定义用户表来管理用户吗?
2)管理用户内容:组合、基金等。
在MVC模式中,实现身份验证和所有授权验证的最简单和最优雅的方法是什么,使用户可以获取自己的数据?我需要在每个控制器的每个操作中检查这个吗?
换句话说,我该如何实现我的控制器?例如:
[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...
}
我非常感谢每一个建议!