在 Web.Config 中以编程方式更改成员资格提供程序的属性

发布于 2024-10-14 14:15:13 字数 786 浏览 4 评论 0原文

我的 web.config 中有以下 defaultmembership 提供程序

<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />

我正在尝试以编程方式将 enablePasswordResetfalse 更新为 true 但很挣扎..就我所知!

ConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
var section = (MembershipSection)config.GetSection("system.web/membership");

var defaultProvider = section.DefaultProvider;
var providerSettings = section.Providers[defaultProvider];

// Now what?

现在我不知道如何获取属性并更新它?非常感谢任何提示/示例。

I have the following defaultmembership provider in my web.config

<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />

I am trying to update the enablePasswordReset from false to true programmatically but am struggling.. This is as far as I got!

ConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
var section = (MembershipSection)config.GetSection("system.web/membership");

var defaultProvider = section.DefaultProvider;
var providerSettings = section.Providers[defaultProvider];

// Now what?

Now I can't figure out how to get the attribute and update it? any hints / examples greatly appreciated.

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

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

发布评论

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

评论(2

落叶缤纷 2024-10-21 14:15:13

我想通了

        var config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
        var section = (MembershipSection)config.GetSection("system.web/membership");

        var defaultProvider = section.DefaultProvider;
        var providerSettings = section.Providers[defaultProvider];
        providerSettings.Parameters.Set("enablePasswordReset", "true");
        config.Save();

I figured it out

        var config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
        var section = (MembershipSection)config.GetSection("system.web/membership");

        var defaultProvider = section.DefaultProvider;
        var providerSettings = section.Providers[defaultProvider];
        providerSettings.Parameters.Set("enablePasswordReset", "true");
        config.Save();
在巴黎塔顶看东京樱花 2024-10-21 14:15:13

我建议创建一个自定义会员资格提供程序并使用其他来源进行设置。更改设置可能很危险;我认为这是一个用户公开的功能,允许管理员打开或关闭它?

如果您可以创建一个自定义成员资格提供程序,从数据库或 XML 文件中提取信息,然后允许或不允许该功能。不确定该代码到底放在哪里,这取决于您是否使用 ASP.NET 控件,或者您是否使用 API 进行自定义...

HTH。

I would recommend creating a custom membership provider and using another source for the setting. It can be dangerous to change a setting; I assume this is a user-exposed feature to allow an admin to turn it on or off?

If you can create a custom membership provider that pulls the information from the database or XML file and then allow the feature or not. Not sure exactly where to put this code, it would depend on whether you are using the ASP.NET controls, or if you are custom using the API...

HTH.

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