Редактирование Web.config для авторизации роли участника - PullRequest
3 голосов
/ 05 ноября 2008

Я хочу использовать безопасность на основе ролей через раздел авторизации в файле web.config.

Используя членство, мое приложение позволит создавать новые роли, и, следовательно, страницы, к которым они могут получить доступ, должны быть установлены динамически.

Могу ли я программно изменить этот раздел в web.config для управления этим? Если да, то как?

1 Ответ

5 голосов
/ 06 ноября 2008
using System.Configuration;
using System.Web.Configuration;

Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
AuthorizationSection section = (AuthorizationSection)config.GetSection("system.web/authorization");

AuthorizationRule rule = new AuthorizationRule(AuthorizationRuleAction.Allow);
rule.Roles.Add("admins");
section.Rules.Add(rule);

config.Save();
Imports System.Configuration
Imports System.Web.Configuration

Dim config As Configuration = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath)
Dim section As AuthorizationSection = CType(config.GetSection("system.web/authorization"), AuthorizationSection)

Dim rule As New AuthorizationRule(AuthorizationRuleAction.Allow)
rule.Roles.Add("admins")
section.Rules.Add(rule)

config.Save()

ASP.NET необходимо разрешение на запись web.config, чтобы это работало, поэтому будьте осторожны.

...