0 c# asp.net-membership membership-provider
有没有办法禁用ASP.Net成员资格提供程序使用web.config?
目前它在web.config中存储连接字符串和sqlMembershipProvider,这不是我想要的.
谢谢
您通常可以在调用其默认构造函数并调用Initialize它之后使用提供程序.但是,如果System.Web.Security.Membership没有web.config,则无法使用抽象,因为Membership该类已硬连接到配置文件.使用Membership该类时,它将实例化您在配置文件中配置的类型.
正如我所说,当您不想在配置文件中配置它时,您可以在代码中创建它.这将是一个很好的方法,尤其是当您拥有自己的IoC框架时(您可以将Membership外观视为仅用于派生类型的IoC实现MembershipProvider).以下是如何创建一个示例SqlMembershipProvider:
var configuration = new NameValueCollection();
configuration.Add("name", "SqlProvider");
configuration.Add("connectionStringName", "SqlServices");
configuration.Add("applicationName", "MyApplication");
configuration.Add("enablePasswordRetrieval", "false");
configuration.Add("enablePasswordReset", "true");
configuration.Add("requiresQuestionAndAnswer", "true");
configuration.Add("requiresUniqueEmail", "false");
configuration.Add("passwordFormat", "Hashed");
configuration.Add("maxInvalidPasswordAttempts", "5");
configuration.Add("passwordAttemptWindow", "10");
var provider = new SqlMembershipProvider();
provider.Initialize("SqlProvider", configuration);
// And here store it in a static field or register it with your
// favorite IoC container.
container.RegisterSingle<MembershipProvider>(provider);
Run Code Online (Sandbox Code Playgroud)
祝好运.
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |