SimpleMembershipProvider

SimpleMembershipProvider

SimpleMembershipProvider 可以与 ApiController 一起使用还是仅用于经典网页?尝试使用它时,出现错误“Membership.Provider”属性必须是 ExtendedMembershipProvider 的实例。

如果兼容,我该如何调用 . ValidateUser 方法而不像 WebSecurity.Login 那样创建 cookie?

更新

在进行以下更改后,我让它在 Web API 脚手架中运行:

  • Web.config :注释掉 system.web 标签中的默认成员资格和角色提供者,如 Web API 脚手架插入的那样。
  • 将模板 InitializeSimpleMebershipAttribute 从 Mvc 属性更改为 System.Web.Http.Filters 。属性直接 Hook 到 Controller 中,而 Mvc 不适用于 ApiController

  • 但是,WebSecurity 类与表单例份验证混合在一起,.Login 方法将 cookie 附加到 http-header。 WebMatrix.WebData 公开 SimpleMembershipProvider ,但没​​有 .ValidateUser 以中立的方式使用它来进行身份验证。
    SimpleMembership 实际上是否打算与表单例份验证以外的其他任何东西一起使用?我在网上找不到明确的答案。

    谢谢!

    最佳答案

    我想我得到了答案。 See the remarks section at the end of this page

    使用 SimpleMembershipProvider 方法初始化 WebMatrix.WebData 后, System.Web.Security.Membership 类可用,就像旧的 MembershipProvider 一样。不是使用 WebSecurity 类进行验证,而是使用 Membership.ValidateUser 并且没有 cookie 附加到 http header 。

    关于c# - ASP.NET Web API 与 SimpleMembershipProvider 兼容吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13857516/

    10-11 20:34