【发布时间】:2012-12-13 10:11:19
【问题描述】:
SimpleMembershipProvider 可以与ApiController 一起使用还是仅用于经典网页?尝试使用它时,我收到错误“Membership.Provider”属性必须是ExtendedMembershipProvider 的实例。
如果兼容,我如何调用 .ValidateUser 方法而不创建像 WebSecurity.Login 那样的 cookie?
更新
在进行了以下更改后,我让它在 Web API 脚手架中运行:
Web.config:注释掉system.web标记中的默认成员资格和角色提供者,由 Web API 脚手架插入。将模板
InitializeSimpleMebershipAttribute从 Mvc 属性更改为System.Web.Http.Filters。属性直接挂钩到控制器中,而 Mvc 不适用于ApiController。
但是,WebSecurity 类与表单身份验证混合在一起,.Login 方法将 cookie 附加到 http-header。 WebMatrix.WebData 暴露了SimpleMembershipProvider,但没有.ValidateUser 可以在身份验证方面以中立的方式使用它。
SimpleMembership 实际上是否打算用于表单身份验证之外的任何其他内容?我在网上找不到明确的答案。
谢谢!
【问题讨论】:
-
另外,使用旧 MembershipProvider 的 MVC 3 模板中的 AccountController 是否更好?
-
我不确定您问题的 validateuser 部分,但这个问题可能有助于解决您的错误stackoverflow.com/questions/12408349/… 这里有更多关于 SimpleMembershipProvider weblogs.asp.net/jgalloway/archive/2012/08/29/… 的信息。
标签: c# security asp.net-membership asp.net-web-api