【问题标题】:Membership(+ roles) VS session state VS form authentication成员资格(+ 角色)VS 会话状态 VS 表单身份验证
【发布时间】:2011-12-20 15:12:35
【问题描述】:

我正在考虑在我的测试站点使用登录和安全机制。目前情况如下:

  • 数据库中有一个表,有 3 列(名称、密码、数字以区分访问权限)
  • 成功登录并分配访问权限后,会创建会话,包含用户名和访问权限
  • 管理员可以在任何地方访问,用户可以访问某些页面,而未登录的用户只能访问欢迎和登录页面
  • 每个页面都继承自母版页,其中有一些检查会话的逻辑
  • 管理员和用户特定页面具有控制机制来确定会话中当前用户的访问权限

我也尝试使用成员和角色管理器来执行此操作,但是 asp.net 生成的数据库非常混乱(每个表中都有大量表和记录)。我不知道如何配置我上面写的成员资格和角色(意思是简单的表并使用我自己的登录控件)。

但是成员和角色有一些优点(容易获得登录用户的数量,更少的代码,关闭页面/浏览器时自动注销,自动会话管理等......)。

我也在考虑表单身份验证,但我不确定是否有像会话和成员资格这样的灵活性。

【问题讨论】:

    标签: c# asp.net session forms-authentication membership


    【解决方案1】:

    使用MebershipRole manager 有很多好处。 但是,有时默认的 Membership 和 Role 提供程序生成的数据是不够的。

    为此,如果您需要自己的数据源或自定义逻辑,您可以创建custom membership, role providers and/or a custom membership user

    【讨论】:

      【解决方案2】:

      您想要做的所有事情都已经包含在会员提供程序中,使用起来非常简单。如果您不需要任何过于复杂或定制的东西,我会认真建议您再次查看会员资格提供商,因为它会完全按照您的意愿进行操作,并且已经过尝试和测试。不要为了它而重新发明轮子。

      看看这些详细介绍了整个事情的文章:

      Examining ASP.NET's Membership, Roles, and Profile

      【讨论】:

      • 好的,但是是否可以强制会员和角色提供者使用这样一个简单的数据库?
      • @polohy - 可以通过创建自定义成员资格和/或角色提供者来实现。看看我帖子中的链接。
      猜你喜欢
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 2012-04-10
      相关资源
      最近更新 更多