Skip to main content
 首页 » 编程设计

asp.net-mvc之为什么在 MVC 4 应用程序中初始化简单的成员资格属性

2024年11月24日14zfyouxi

我想我对 SimpleMembershipProvider 的理解几乎是 60%,其余的正在了解它的内部运作方式。

您在使用 [InitializeSimpleMembership] 时可以很快发现一些问题。仅在 AccountController(默认模板)中过滤。我认为你在任何地方使用 Memberhsip API 或 WebMatrix.WebSecurity ,您需要确保首先调用此过滤器。

稍后,如果您使用 User.IsInRole在我的 _Layout.cshtml .您需要将过滤器应用于所有 Controller ,然后开始在全局中注册它。

但是我才意识到有 LazyInitializer.EnsureInitialized这使得每个应用程序启动只执行一次初始化。

那么为什么SimpleMembershipInitializer (在过滤器中)是不是直接在Application_Start 中?
有什么理由使用过滤器吗?

请您参考如下方法:

我相信该模板使用了一个用于数据库初始化的属性,因此如果初始化失败,站点的未验证部分仍然可以工作。

对于大多数实际用途,最好在 App_Start 中完成此操作。