c# - Web API - 身份验证建议

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

背景: - 使用 VS 2012 在 ASP.Net 4.0/C# 的 Web 窗体应用程序中使用 Web API - 一些页面将使用带有 JQuery 的 Web API 调用,其他页面将使用 Web 表单回发

需要做以下事情:

  • 让用户使用用户名/密码登录
  • 使用 SQL Server 数据库验证凭据
  • 生成 token 返回给客户端
  • 让客户端使用 token 对 future 的 API 请求进行身份验证
  • 无论是使用 Web API 还是 Web 表单回发,都保持用户 session

我不清楚的是:

  • 如何使用 Web API 生成 token
  • 如何在每次调用时在服务器端验证 token (存储在 SQL Server 中?)
  • 如何通过混合使用 Web API/Web 表单回发来维护用户 session

最佳答案

我使用了来自 http://thinktecture.github.io/ 的 Thinktecture IdentityModel . 这是一个很棒的库,包括 token 生成。

这是我实现时引用的原文

http://ben.onfabrik.com/posts/dog-fooding-our-api-authentication

如果你有兴趣,我也在我的博客上写了一些文章

http://sunilrav.com/post/Enable-Basic-Authetication-in-Aspnet-webapi-using-ThinktectureIdentityModel

http://sunilrav.com/post/Enable-CORS-in-Aspnet-webapi-using-ThinktectureIdentityModel

这篇文章在我做研究时帮助了我

REST service authentication

关于c# - Web API - 身份验证建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845908/

相关文章:

c# - 将 partition by 上的 first_value 翻译成 linq

c# - 制作C#工程DLL和EXE

c# - 从 ASP.Net Core 1.1 迁移到 2.0 时出现 BadImageFormatException

c# - Sitecore 语言嵌入多个站点

c# - 当前上下文中不存在名称

entity-framework - OData异常复杂类型 'WebTools.Order'通过属性 'WebTools.Customer'引用实体类型 'Customer'

c# - 更改 facebook redirect_uri web api

c# - .NET Core WebAPI 依赖注入(inject)解析 null

c# - HRESULT 异常 : 0x80010105 (RPC_E_SERVERFAULT) when opening xlsx file

c# - 使用表达式树创建完全动态的 where 子句并在 IQueryable 上执行