我正在使用 ASP.net MVC4 模板的内置 SimpleMembership,并希望创建一个管理面板来重置用户群的密码和类似操作。
我使用 SecurityGuard.MVC4 nuget 作为起点,并且在大多数操作中都收到 NotSupportedException。SecurityGuard 使用控制器的 Membership 属性调用 SimpleMembershipProvider 上的 GetAllUsers()、GetUser() 和 ResetPassword() 等方法,它们都会抛出 NotSupportedException。从文档看来,这是设计使然:
SimpleMembershipProvider.GetAllUsers
注意:如果 SimpleMembershipProvider 类已使用调用 WebSecurity.InitializeDatabaseConnection() 方法进行了初始化,则此方法不受支持并且会抛出 NotSupportedException 异常。但是,如果尚未调用 WebSecurity.InitializeDatabaseConnection() 方法,并且您已将站点配置为使用标准 ASP.NET 成员资格提供程序,则此方法将传递给标准成员资格提供程序。
我错过了什么?似乎我需要在将 WebSecurity 用于 WebSecurity.CreateUser() 等标准内容和直接使用提供程序之间进行选择?
我可以解决这个问题,但我主要对为什么我不能同时获得两者感到困惑?