【发布时间】:2014-08-09 09:38:54
【问题描述】:
我正在开发一个 Web API 2.1 服务,该服务需要对连接的客户端(我将创建和控制的 HTML5/JS 客户端)进行身份验证。不幸的是,用户信息(用户名、密码哈希、角色和更多信息)存储在我只有读取权限的现有(SQL Server)数据库中。用户数据库表是在 5-6 年前创建的,没有参考任何安全框架,因此它是一种完全自定义的格式。我不允许对数据或数据库结构进行任何更改。
受this article 的启发,我推出了自己的基于令牌的用户身份验证方法,但我缺乏使用已建立的安全框架的完整性和(重新)保证。
有没有办法整合现有的框架,例如OAuth2,在我当前的项目中,考虑到我上面提到的限制?我不知道这是否有任何区别,但我使用 OWIN 进行自托管。
【问题讨论】:
-
我正在研究一个类似的问题 - 现有的 API 令牌在我需要使用的数据库中。目前我看到 2 个选项:1)一个 HTTP 模块或消息处理程序,它拦截令牌并整理出当前的主体(基本身份验证)。 2) 使用 ASP.NET 身份持有者令牌来查看我是否可以使用自定义令牌来解决这个问题.... 还不确定要使用哪个 :)
-
您可以将会话详细信息存储在单独的数据库/表中吗?
-
有效的问题,我希望有人有一个好的答案。集成到遗留系统是一种常见的情况,似乎经常被忽视。
标签: c# authentication asp.net-web-api access-token