【问题标题】:Authentication and authorization ASP.NET Web API from another Web API Application来自另一个 Web API 应用程序的身份验证和授权 ASP.NET Web API
【发布时间】:2017-04-06 19:50:31
【问题描述】:

大家好,我有一个问题,我有一个带有用户管理功能的 Asp.NET Web.API 应用程序,来自示例创建用户管理用户权限等,现在我开发了另一个 Web.API 应用程序,我需要实现身份验证和通过第一个应用程序用户凭据进行授权。实现这一目标的最佳方法或解决方案是什么?请注意,在第一个应用程序中,我将经典的基于角色的授权更改为基于权限。

提前感谢您的帮助。

【问题讨论】:

  • 如果可能将单独的身份验证作为单独的服务并实施基于令牌的身份验证。
  • 感谢您的回答您的意思是什么类型的服务?
  • 另一个实现基于令牌的身份验证的 REST API 服务。
  • 你有什么例子可以指点我吗?
  • 有几种方法可以实现基于令牌的身份验证。我的偏好是使用 ASP.net 身份服务器使用 OAuth。 github.com/IdentityServer

标签: c# .net authentication asp.net-web-api authorization


【解决方案1】:

我开发了另一个 Web.API 应用程序,我需要实现 通过第一个应用程序用户进行身份验证和授权 凭据。

有很多方法可以实现该解决方案。一种方法是使用 Identity Server基于令牌的身份验证

你可以测试my sample code at GitHub

请注意,它使用带有hard-coded username and password 的 InMemory 身份数据库进行测试。您可以轻松替换为真实身份数据库。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,因此我将所有身份验证和授权都移到了 IHTTP 模块中。这允许我在 IIS 7.0 中设置应用程序模块。 https://msdn.microsoft.com/en-us/library/ms227673.aspx

    【讨论】: