我们可以在运行时修改 web.config 文件的授权部分吗?
问问题
511 次
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 回答