在ASP.NET中实现ProviderBase的自定义提供程序配置在哪里?

时间:2011-06-16 20:34:19

标签: c# configuration asp.net-membership membership-provider roleprovider

我想找出一个小小的dillema。我有一个SqlMembership,SqlRole和SqlProfile提供程序不支持的功能。要求要求使用EF,以及成员和角色提供程序中的多个自定义功能。

此外,我需要添加第四个提供商 - 一个管理用户到组成员身份的提供商。

所以这里的问题是:

  1. 在角色提供程序中添加组成员身份的代码。
  2. - 或 -

    1. 将组成员资格的代码添加到直接从ProviderBase继承的自己的GroupProvider。
    2. 我更倾向于#2,但是需要考虑一些因素:

      1. 如何为GroupProvider提供配置设置? - 我知道我可以在web.config中使用自定义部分,但是我想在角色,成员资格和个人资料提供者旁边的<system.web>部分下添加它。

      2. 在提供商的执行生命周期中,public override void Initialize(string name, NameValueCollection config)会发生火灾吗?是什么导致这被执行?

      3. 谢谢, 马丁

1 个答案:

答案 0 :(得分:0)

好吧,我找不到任何关于此的信息,所以我决定将我的自定义代码粘贴到RoleProvider中。访问RoleProvider的自定义函数非常简单:

string providerName = "MyProvider";
CustomRolesProvider provider = Roles.Providers[providerName] as CustomRolesProvider;

每当访问提供程序时,它会触发Initialize事件(如果尚未初始化) - 从Web.Config

下的System.Web section读取配置设置