gpt4 book ai didi

c# - WebApi、iOS 和 Forms Auth - 可以工作吗?

转载 作者:行者123 更新时间:2023-11-29 00:41:29 27 4
gpt4 key购买 nike

我有一个单页 Web 应用程序,它对 WebAPI 层进行 AJAX 调用以提供所有数据。 Web 应用使用以下内容对端点进行身份验证和授权:

WebSecurity.Login(model.Username, model.Password)

这样,我可以使用 MembershipProvider 来确定谁可以访问每个 Controller 级别的内容:

[HttpGet]
[Route("api/adminwork")]
[System.Web.Http.Authorize(Roles = "Administrator")]
public HttpResponseMessage DoWork() {
ApiResponseDto result = _adminService.DoAdminWork();
return Request.CreateResponse(HttpStatusCode.OK, result);
}

我正准备构建一个将使用相同 API 的 iOS 应用程序。我希望我可以使用表单例份验证 + 成员(member)提供程序的这种机制将 cookie 附加到来自移动应用程序的所有请求,以与来自网络应用程序的请求相同的方式有效地处理请求(并最大限度地减少我的工作)。

有没有办法让 iOS 应用程序使用 ASPX cookie 来实现这一点?

最佳答案

好吧,您可以使用 WebView 来处理带有 cookie 的内容,但我认为这是对 api 用户进行身份验证的非常不合适的方式。不安全的方式。

In particular, the MVC portion of your app might use forms authentication, which stores credentials in a cookie. Cookie-based authentication requires the use of anti-forgery tokens, to prevent CSRF attacks. That’s a problem for web APIs, because there is no convenient way for the web API to send the anti-forgery token to the client. (For more background on this issue, see Preventing CSRF Attacks in Web API.) Calling SuppressDefaultHostAuthentication ensures that Web API is not vulnerable to CSRF attacks from credentials stored in cookies.

您应该改用基于标记的方法。 Consider adding OAuth methods to your middleware

关于c# - WebApi、iOS 和 Forms Auth - 可以工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39378009/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com