我有 5 年的 ASP.NET Web 窗体经验,而且我是 ASP.NET MVC 的新手。我现在正在尝试通过一些教程、视频教程和书籍来学习 MVC。
我正在使用 Visual Studio 2012 和全新的 ASP.NET MVC 4 构建一个小的 Web 应用程序来管理我的共同基金投资组合。这应该让我进入新模式并学习很多新东西......
我的应用程序也应该让其他一些朋友也这样做。所以它必须管理不同用户的投资组合。
我首先使用实体框架代码构建了一个小数据库,所以我有一些基本模型:基金、投资组合、共享、存款、来源和用户。一个用户可以拥有许多投资组合,其中包含许多资金。每个用户都有自己的存款清单。每个基金都有许多股票价值(一天)。
Source 模型只是一个表格,我在其中为每个网站来源放置了一个 URL,用于特定基金的份额数据。所以,一只基金有很多来源。然后,我每天使用一次爬虫类从这些网站获取数据。
这是应用程序的主要结构。现在,我需要知道什么是最好的方法:
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...
}
我真的很感激每一个建议!