从web.config读取成员资格部分

我已经创建了一个自定义MembershipProvider类,到目前为止一直很好,但是,我不知道如何从web.config文件中读取配置设置。

我试图从谷歌和Stackoverflow搜索,似乎有人也遇到了我的问题,并问,但没有给出答案。

这应该是一件简单的事情,但我在网络开发方面非常新,所以从web.config中读取设置似乎对我来说太技术了。

这是我的设置:

      

我想阅读minRequiredPasswordLength设置,请协助。

由于这被设置为您的默认提供者,因此它应足以:

 int i = Membership.MinRequiredPasswordLength; 

这将返回一个指定所需密码最小长度的int。

这是代码中的解决方案:

  MembershipSection membershipSection = (MembershipSection)WebConfigurationManager.GetSection("system.web/membership"); string defaultProvider = membershipSection.DefaultProvider; ProviderSettings providerSettings = membershipSection.Providers[defaultProvider]; string connectionStringName = providerSettings.Parameters["connectionStringName"]; string connectionUsername = providerSettings.Parameters["connectionUsername"]; string connectionPassword = providerSettings.Parameters["connectionPassword"]; string connectionString = WebConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString; 

如果您已经覆盖了自己类中的System.Web.Security.MembershipProvider ,则可以通过调用System.Web.Security.Membership方法获取Robban建议的web.config成员资格设置。 但是,这些调用将定向到您的成员资格提供程序类,因此您需要提供一些实现。

假设您已覆盖MembershipProvider类并在配置文件中添加了一个部分,如上面的原始问题所示。 对int i = Membership.MinRequiredPasswordLength调用将指向您的实现。 这可能如下所示:

  public override int MinRequiredPasswordLength { get { return _minRequiredPasswordLength; } } 

MSDN 在这里给出了一个完整的例子。 该示例显示如何读取配置文件以设置本地属性,如_minRequiredPasswordLength