我有一个ASP.Net MVC应用程序,我在SQL Server中使用Forms身份验证。这为我设置了身份验证和授权。但是,我还需要跟踪其他基于人的数据,例如此人的电话号码,部门,收费率,开始日期等。
该人可以做什么(由ASP.Net安全控制)与WHO有关(由我的申请控制)。
是否有最佳做法将ASP.Net与我的应用程序数据相关联以获得更完整的人物对象?我可以简单地扩展ASP.Net表中的信息吗?将它分开是否更好?有没有人有任何提示或链接指导?
答案 0 :(得分:4)
由于您已经在使用ASP.NET Forms身份验证,因此可以通过 ASP.NET RoleProvider 属性将 Authorize 集成到MVC中易于设置。
你得到这样的东西:
[Authorize(IsInRole="Chef")]
public ActionResult Cook() { // snip ...
如果您确实使用了所有这些,那么还有用于ASP.NET的 ProfileProvider ,它可以为您提供完整智能感知支持的配置文件代码。您可以自定义所需的字段以及应存储的数据类型等。
角色提供者和个人资料提供者都可以自定义或自己动手,互联网上有很多文章会告诉你如何。
使用ASP.NET提供程序还可以为您提供在整个ASP.NET请求处理管道中自动维护数据的好处,例如:你可以访问这个属性:
HttpContext.Current.Profile
......来自几乎任何地方。
答案 1 :(得分:1)
使用Profile Properties的内置功能存储有关您用户的其他数据。