【问题标题】:Is it necessary to override the membership and the role providers?是否有必要覆盖成员资格和角色提供者?
【发布时间】:2010-07-26 08:33:06
【问题描述】:

我正在开发一个网络应用程序,但由于要求,我不想将连接字符串存储在网络或应用程序配置中。

到目前为止,我找到了实现此目的的唯一方法 - 覆盖成员资格和角色提供者。

我也不完全理解为什么当所有身份验证都由成员资格提供者处理时,我还必须覆盖角色提供者?

谢谢

【问题讨论】:

    标签: asp.net-membership membership-provider roleprovider


    【解决方案1】:

    虽然 SqlRoleProvider 和 SqlMembershipProvider 是独立的关注点,但它们都与同一个数据库通信(通常)。

    它们每个都有一个不同的配置部分,并且需要一个连接字符串的实例。

    我同意你在另一个问题上发现的策略,如果你想使用角色,你必须做同样的事情,在代码中配置,就像你为会员做的那样。

    您应该链接到另一个问题以提供上下文并防止被标记为重复。

    【讨论】:

      【解决方案2】:

      我在网上找到了一个解决方案,这有点像 hack,但让我免于覆盖成员资格和角色提供者。

      解决办法是通过反射在global.asax中设置一个连接字符串:

      protected void Application_PreRequestHandlerExecute()
      {
          try
          {
              SetProviderConnectionString(DllForConnectionStringManagement.GetConnectionString());
          }
          catch (Exception e)
          {
          // Log and throw
          }
      }
      

      SetProviderCONnectionString 是一个私有方法,通过反射设置成员和角色提供者的连接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-09
        • 1970-01-01
        • 2011-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-18
        相关资源
        最近更新 更多