代码之家  ›  专栏  ›  技术社区  ›  Chris Latta

ASP.NET MVC、基于角色的安全性和其他基于人员的数据

  •  1
  • Chris Latta  · 技术社区  · 16 年前

    我有一个ASP.NET MVC应用程序,我在SQL Server中使用窗体身份验证。这将为我设置身份验证和授权。但是,我也有其他需要跟踪的基于人员的数据,例如人员的电话号码、部门、他们的费用支出率、开始日期等。

    此人可以做什么(由ASP.NET安全性控制)与他们是谁(由我的应用程序控制)相关。

    是否有将ASP.NET与应用程序数据链接以获得更完整的Person对象的最佳实践?我可以简单地扩展ASP.NET表中的信息吗?最好分开吗?有人有任何提示或指导链接吗?

    2 回复  |  直到 16 年前
        1
  •  4
  •   chakrit Dutchie432    16 年前

    因为您已经在使用ASP.NET窗体身份验证 ASP.NET RoleProvider 可通过 Authorize 属性也很容易设置。

    你会得到这样的结果:

    [Authorize(IsInRole="Chef")]
    public ActionResult Cook() { // snip ...
    

    如果你真的用了这些,还有 ProfileProvider 为您生成配置文件代码的ASP.NET提供完全的IntelliSense支持。您可以自定义所需的字段以及应存储在其中的数据类型等。

    角色提供程序和配置文件提供程序都可以自定义或自己滚动,Internet上有许多文章将告诉您如何进行。

    使用ASP.NET提供程序还可以使您在整个ASP.NET请求处理管道中自动维护数据,例如,您可以访问此属性:

    HttpContext.Current.Profile
    

    …几乎从任何地方。

        2
  •  1
  •   Tomas Aschan    16 年前

    使用内置功能 Profile Properties 存储有关用户的其他数据。