4

可以SimpleMembershipProvider与 a 一起使用ApiController还是仅用于经典网页?尝试使用它时,我收到错误“Membership.Provider”属性必须是ExtendedMembershipProvider.

如果它兼容,我该如何调用 . ValidateUser没有像 WebSecurity.Login 这样创建 cookie 的方法吗?

更新

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

  1. Web.config:注释标签内的默认成员资格和角色提供者system.web,由 Web API 脚手架插入。

  2. 将模板InitializeSimpleMebershipAttribute从 Mvc 属性更改为System.Web.Http.Filters. 属性直接挂钩到控制器中,而 Mvc 不适用于ApiController.

但是,WebSecurity该类与表单身份验证混合在一起,并且该.Login方法将 cookie 附加到 http-header。WebMatrix.WebData暴露SimpleMembershipProvider,但在身份验证方面没有.ValidateUser以中立的方式使用它。

实际上是SimpleMembership打算与表单身份验证以外的任何东西一起使用吗?我在网上找不到明确的答案。

谢谢!

4

1 回答 1

1

我想我得到了答案。请参阅本页末尾的备注部分

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

于 2012-12-14T06:34:40.153 回答