在实现 ProviderBase 的 ASP.NET 中,自定义 Provider 的配置应该放在哪里?

发布于 2024-11-15 23:26:34 字数 654 浏览 4 评论 0原文

我正在试图找出一个小难题。我有一个 SqlMembership、SqlRole 和 SqlProfile 提供程序不支持的功能。这些要求要求使用 EF,以及成员资格和角色提供程序中的多个自定义功能。

更重要的是,我需要添加第四个提供程序 - 一个管理用户到组成员资格的提供程序。

所以这里的问题是:

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

-- 或 --

  1. 将组成员身份的代码添加到直接从 ProviderBase 继承的其自己的 GroupProvider 中。

我更倾向于#2,但是有一些注意事项需要解决:

  1. 如何向 GroupProvider 提供配置设置? - 我知道我可以在 web.config 中使用自定义部分,但是我想将其添加到角色、成员资格和配置文件提供程序旁边的 部分下。< /p>

  2. 在提供程序的执行生命周期中,public override void Initialize(string name, NameValueCollection config) 何时触发?是什么导致执行此操作?

谢谢, 马丁

I am trying to figure out a small dillema. I have a piece of functionality that is not supported by the SqlMembership, SqlRole, and SqlProfile providers. The requirements call for using the EF, and also multiple custom features within both the Membership and Role providers.

More over I have the need to add a 4th provider to the mix - One that manages User - to - group membership.

So the question here is:

  1. Add the code for group membership in the Role provider.

-- or --

  1. Add the code for group membership to its own GroupProvider inheriting directly from ProviderBase.

I am leaning more towards #2, however there are a few considerations to iron out:

  1. How to provide configuration settings to the GroupProvider? - I know i can potentially use a custom section in my web.config, however I wanted to add it under the <system.web> section along side the Role, Membership, and Profile providers.

  2. When in the execution life-cycle of the provider do the public override void Initialize(string name, NameValueCollection config) fires? What causes this to be executed?

Thanks,
Martin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明月松间行 2024-11-22 23:26:34

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

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

每当访问提供程序时,如果尚未初始化,它就会触发 Initialize 事件 - 该事件从 Web.Config< 中读取配置设置System.Web 部分 下的 /code>

Well, i couldn't find any info on this so I decided to stick my custom code into the RoleProvider. Accessing the custom functions of the RoleProvider is as simple as:

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

Whenever the provider is accessed it fires the Initialize event if it is not yet initialized - which reads the config settings from the Web.Config under the System.Web section

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文