在实现 ProviderBase 的 ASP.NET 中,自定义 Provider 的配置应该放在哪里?
我正在试图找出一个小难题。我有一个 SqlMembership、SqlRole 和 SqlProfile 提供程序不支持的功能。这些要求要求使用 EF,以及成员资格和角色提供程序中的多个自定义功能。
更重要的是,我需要添加第四个提供程序 - 一个管理用户到组成员资格的提供程序。
所以这里的问题是:
- 在角色提供程序中添加组成员身份的代码。
-- 或 --
- 将组成员身份的代码添加到直接从 ProviderBase 继承的其自己的 GroupProvider 中。
我更倾向于#2,但是有一些注意事项需要解决:
如何向 GroupProvider 提供配置设置? - 我知道我可以在 web.config 中使用自定义部分,但是我想将其添加到角色、成员资格和配置文件提供程序旁边的
部分下。< /p>在提供程序的执行生命周期中,
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:
- Add the code for group membership in the Role provider.
-- or --
- 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:
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.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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我找不到任何相关信息,所以我决定将自定义代码粘贴到 RoleProvider 中。访问 RoleProvider 的自定义函数非常简单:
每当访问提供程序时,如果尚未初始化,它就会触发
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:
Whenever the provider is accessed it fires the
Initialize
event if it is not yet initialized - which reads the config settings from theWeb.Config
under theSystem.Web section