【问题标题】:ASP.NET Web API compatible with SimpleMembershipProvider?与 SimpleMembershipProvider 兼容的 ASP.NET Web API?
【发布时间】:2012-12-13 10:11:19
【问题描述】:

SimpleMembershipProvider 可以与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 实际上是否打算用于表单身份验证之外的任何其他内容?我在网上找不到明确的答案。

谢谢!

【问题讨论】:

标签: c# security asp.net-membership asp.net-web-api


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2020-05-16
    相关资源
    最近更新 更多