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

Pla*_*Kid 6 c# membership model-view-controller web-config

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

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

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

这是我的设置:

 <membership defaultProvider="CustomMembershipProvider">
  <providers>
    <clear/>
    <add name="CustomMembershipProvider"
         type="Test.Models.CustomMembershipProvider,Test"
         passwordFormat="Hashed"
         connectionStringName="ApplicationServices"
         minRequiredPasswordLength="8"
         minRequiredNonalphanumericCharacters="0"
         maxInvalidPasswordAttempts="5"
         enablePasswordReset="false"
         enablePasswordRetrieval="false"
         requiresQuestionAndAnswer="false"
         applicationName="/"/>
  </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)

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

小智 20

这是代码中的解决方案:

        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;
Run Code Online (Sandbox Code Playgroud)


Rob*_*ban 9

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

int i = Membership.MinRequiredPasswordLength;
Run Code Online (Sandbox Code Playgroud)

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