c# - 与 SimpleMembershipProvider 兼容的 ASP.NET Web API?

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

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。属性直接挂接到 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/

相关文章:

c# - SetAuthCookie 未在我们的测试服务器上设置 cookie

c# - 使用 int 而不是没有小数的 float 有什么好处吗?

c# - 添加 AntiForgeryToken 到非 Ajax 表单提交

c# - 如何在 C# 中使用其 id 获取输入类型=日期的值

java - 基本软件许可实现的想法

java - Spring 安全 : Ignoring alias of server-name and forcing relogin

c# - 在 .NET 成员资格中使用 List 类型的配置文件属性

c# - 为什么UndistortPoints()对于这些输入点失败?

spring - 在 Spring Security SAML 身份验证请求中配置 POST ProtocolBinding

facebook - 如何让 ExtendedMembershipProvider 与 ASP.NET MVC 4 和自定义成员资格提供程序一起使用?