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/