0

我们可以在运行时修改 web.config 文件的授权部分吗?

4

4 回答 4

1

是的,你可以:http: //msdn.microsoft.com/en-us/library/system.web.configuration.authorizationsection.aspx

“AuthorizationSection 类提供了一种以编程方式访问和修改配置文件的授权部分的方法。”

我想这取决于你想要做什么。

于 2013-07-16T07:05:44.917 回答
0

是的,您可以在运行时更改 web.config 文件...
但是通过更改配置服务器将重置会话
,因此您当前登录的用户将面临登录问题

于 2013-07-16T13:41:37.343 回答
0

据我所知,配置文件不会在运行时修改,而是为您的可执行文件进行启动配置。这就是他的职能。

顺便说一句: 使用同一个 App 在执行时编辑 app.config

于 2013-07-15T07:29:54.077 回答
0

是的,这就是我所做的,它 100% 有效:

var config = XDocument.Load(Server.MapPath("~/Web.config"));
var targetNode = config.Root.Element("location").Element("system.web").Element("authorization").Element("allow").Attribute("roles");

targetNode.Value = String.Join(",", Roles.GetAllRoles());
config.Save(Server.MapPath("~/Web.config"));

这是web.config2:

 <location path="elmah.axd">
    <system.web>
      <authorization>
        <allow roles="Admin,Role1, etc..." />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
于 2016-09-15T22:26:22.647 回答