SimpleMembershipProvider
可以与 ApiController
一起使用还是仅用于经典网页?尝试使用它时,出现错误“Membership.Provider”属性必须是 ExtendedMembershipProvider
的实例。
如果兼容,我如何调用 .ValidateUser
方法而不像 WebSecurity.Login 那样创建 cookie?
更新
经过以下更改后,我让它在 Web API 脚手架中运行:
Web.config
:注释掉system.web
标记中的默认成员资格和角色提供程序,由 Web API 脚手架插入。将模板
InitializeSimpleMebershipAttribute
从 Mvc 属性更改为System.Web.Http.Filters
。属性直接挂接到 Controller ,Mvc 不适用于ApiController
。
但是,WebSecurity
类与表单例份验证混合在一起,.Login
方法将 cookie 附加到 http-header。 WebMatrix.WebData
公开了 SimpleMembershipProvider
,但是没有 .ValidateUser
以中立的方式使用它来进行身份验证。
SimpleMembership
是否真的打算用于除表单例份验证以外的任何其他用途?我在网上找不到明确的答案。
谢谢!
最佳答案
我想我得到了答案。 See the remarks section at the end of this page .
在使用 WebMatrix.WebData
方法初始化 SimpleMembershipProvider
后,System.Web.Security.Membership
类可用,就像旧的 MembershipProvider
。不是使用 WebSecurity
类进行验证,而是使用 Membership.ValidateUser
并且没有 cookie 附加到 http header 。
关于c# - 与 SimpleMembershipProvider 兼容的 ASP.NET Web API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13857516/