gpt4 book ai didi

c# - Roles.Enabled 为 true,即使 roleManger.enabled 设置为 false

转载 作者:太空狗 更新时间:2023-10-29 20:40:06 28 4
gpt4 key购买 nike

我有一个简单的网站,其中一个 aspx 页面 ( Test.aspx ) 显示 Roles.EnabledWeb.config 中设置为 false 的值(属性 roleManager@enabled )。

测试.aspx:

<%@ Page Language="C#" %>
<%= Roles.Enabled %>

Web.config:

<?xml version="1.0"?>
<configuration>
<system.web>
<roleManager enabled="false" />
</system.web>
</configuration>

这个输出:

False

这是预期的。

但是,当我添加另一个文件( Razor 页面)时,例如Test.cshtml (0 B)里面没有内容,aspx页面突然输出:

True

即使我从网站上删除了 razor 页面,输出也没有改变。我必须回收应用程序池,然后它再次输出 False (预期结果)。

MVC 模块/处理程序工厂似乎出于某种未知原因更改了值。

我如何告诉 MVC 运行时不要这样做?

最佳答案

开启简单成员(member)的关键是AppSetting enableSimpleMembership(默认是true?)。

显然,当 MVC 项目启动时,例程会检查此设置是否设置为 false。如果不是SimpleMembershipProvider已应用 - 或 ASP.NET 尝试 - 不知何故 like this .

要禁用此行为,请将其设置为 false

<appSettings>
<add key="enableSimpleMembership" value="false" />
</appSettings>

我在 PreApplicationStartCode 中找到了这条评论WebMatrix 的。我想大多数 MVC 版本都有类似的行为。

To use the SimpleMembershipProvider and WebSecurity classes for an ASP.NET Web Pages website, set enableSimpleMembership to true in the appSetting section of the Web.config file. (Alternatively, leave enableSimpleMembership out of the Web.config file, because enableSimpleMembership defaults to true.) When simple membership is enabled, SimpleMembershipProvider replaces SqlMembershipProvider, but is not invoked until it is initialized by a call to the InitializeDatabaseConnection() method.

关于c# - Roles.Enabled 为 true,即使 roleManger.enabled 设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12402346/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com