我想在我的应用程序中使用 .Net 的 SqlMembershipProvider 和 SqlRoleProvider 进行用户管理。我的问题是,当应用程序启动时,它不知道任何数据库连接信息。出于安全目的,它需要从数据库服务器上运行的 WCF 服务获取此信息。因此,我需要事后建立我的会员/角色提供者。
我想我已经能够创建和添加会员提供者:
// register membership provider
var membership = new SqlMembershipProvider();
var providerValues = new NameValueCollection();
providerValues.Add("name", "sqlMembershipProvider");
providerValues.Add("applicationName", "/");
providerValues.Add("connectionStringName", "connectionStrDynamAddedToConfig");
providerValues.Add("maxInvalidPasswordAttempts", "10");
membership.Initialize("sqlMembershipProvider", providerValues);
到目前为止,我一直无法找到类似的东西来创建 RoleProvider。我可以创建提供程序,但不能将其添加到角色管理器。我是否需要创建一个自定义提供程序,在它已经初始化后可以接受一个连接字符串?