gpt4 book ai didi

asp.net-mvc-3 - RoleProvider 不适用于服务器上的自定义 IIdentity 和 IPrincipal

转载 作者:行者123 更新时间:2023-12-02 07:04:57 24 4
gpt4 key购买 nike

我通过 EF 4.3 在我的 ASP.NET MVC 应用程序中使用自定义 IIdentityIPrincipal如上所述here (并遵循已接受答案的解决方案)。另外,我有一个自定义的 RoleProvider。 在本地(使用IIS Express),它可以正常工作。但现在,当我在真实主机上上传应用程序时,似乎所有用户都处于 "admin" 角色!例如我创建了一个不属于 "admin" 角色的用户,但它可以访问所有 protected 页面(需要 "admin" 角色)。例如Role.IsUserInRole 始终返回 true。请问你有什么想法吗?你能帮助我吗?我应该在 IIS 中进行任何设置吗?

最佳答案

我解释了这个解决方案,它对我有用。我现在不这样做,也许您应该回滚到 AuthenticateRequest 事件。如果您想尝试这种方式,您必须从项目中完全删除 RoleManagerModule 。试试这个,让我知道是否有效:

// in your module:

public void Init(HttpApplication context) {
_application = context;
// rollback this line:
_application.AuthenticateRequest += ApplicationAuthenticateRequest;
}

// and in web.config

<!-- in system.web section: -->
</system.web>
<!-- other stufs -->
<httpModules>
<remove name="RoleManager"/>
</httpModules>
</system.web>

<!-- and in system.webServer section: -->
<system.webServer>
<!-- other stufs -->
<modules runAllManagedModulesForAllRequests="true">
<remove name="RoleManager"/>
</modules>
<system.webServer>

关于asp.net-mvc-3 - RoleProvider 不适用于服务器上的自定义 IIdentity 和 IPrincipal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11001061/

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