使用 Web API 服务作为中央身份验证点

2024-04-29

我对身份管理领域非常陌生,所以请饶恕我。 :)

我想要做的是让多个客户端 (MVC) 应用程序与单个 Web API 应用程序通信,以对其用户进行身份验证。在该 Web API 应用程序中,我想使用 ASP.NET Identity 与用户与数据库进行对话。

这样,我就可以对客户端应用程序使用 SSO(我猜)。

那有意义吗?有人可以帮助我实现这个(当然也欢迎链接)? 我不知道是否身份服务器 https://identityserver.github.io/Documentation/可以帮助我实现我想要的吗?

作为一个附带问题:当我可以按照我想要的方式实现这一点时,我如何处理同源策略?


感谢您的所有帮助。 :)

在过去的几个月里,我自己做了一些研究,学到了很多有关身份管理的知识。这在很大程度上也要感谢来自 IdentityServer(以及他们的其他项目)的人们。

我最终做了以下事情(非常简短):

  • 身份服务器 https://github.com/IdentityServer/IdentityServer3用作所有客户端应用程序的提供者。使用cookie和OIDC中间件。
  • 我用的是ASP.NET 身份用户服务 https://github.com/IdentityServer/IdentityServer3.AspNetIdentity将用户存储在 SQL Server 数据库中。 (顺便说一句,IdentityServer 配置也存储在数据库中。)
  • 我设置了一个 Web API 服务,该服务使用 ASP.NET Identity 用户管理器进行用户配置(更改密码、创建新用户等)。它对以 IdentityServer 作为提供者的应用程序使用承载身份验证。
  • 作为旁注,身份管理器 https://github.com/IdentityManager/IdentityManager用作内部管理工具来管理所有用户。

如果有人正在寻求帮助设置他/她的身份管理系统(并且认为我可以提供帮助):请询问。 ;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Web API 服务作为中央身份验证点 的相关文章

  • Asp.net WEB API - 如果我使用 POST 而不是 PUT 和 DELETE 会出现什么问题?

    我刚刚开始使用 Web API 虽然我发现创建我需要的方法和一些配置非常容易 但现在我遇到了一个我不知道如何解决的问题 一些将使用我的服务的应用程序非常旧 不支持 DELETE 和 PUT 方法 例如 j2me 应用程序 我发现可以通过传递
  • 使用 ASP.Net 和 C# 统计网站的访问者数量

    我想跟踪我网站的访问者数量 我在 Global asax 类中尝试了以下代码
  • ApiController 操作无法从查询字符串解析数组

    使用 Visual Studio 2012 2 MVC4 Web 应用程序 我有请求发送到我的 ApiController 如下所示 http localhost api keys ids 1 ids 2 ids 3 我的印象是以下方法应该
  • Asp.NET 处理程序和通用处理程序

    在 Visual Studio 2010 中 当您说 new Item 时 您可以看到 Asp NET Handler 和 Generic Handler 你能告诉我有什么区别吗 我认为它是随 NET 4 0 一起提供的 因为我在 Goog
  • Visual Studio 2012 - 数据库发布向导已停止?

    我正在使用 VS 2012 和 SQL Server 2008 刚刚注意到服务器资源管理器中缺少 发布到提供商 选项 据此 数据库发布向导已停止使用 http forums asp net post 5122271 aspx http fo
  • IIS Express 停止 Web 应用程序后立即关闭正在运行的站点

    我在使用 Visual Studio 2012 的第一天 当我想停止 IDE 中的应用程序时 应用程序仍在 IIS Express 上运行 我可以浏览和使用正在运行的应用程序 但现在不能了 如果我按下停止按钮 IIS 会立即关闭应用程序 因
  • Windows 事件日志权限

    我需要授予用户哪些权限才能写入 Windows 事件日志 我有一个 ASP NET 应用程序需要模拟用户 并且模拟的用户必须能够写入事件日志 要创建事件日志源 您需要成为管理员 否则您应该能够在没有提升权限的情况下写入它 也许看一下本文 h
  • C# 代码上的 ImageURL 不显示图像

    我在 aspx 页面上有图像
  • ASP.NET Web Api 2 中的异常处理

    Problem 我需要处理 Web api 2 异常并返回一个具有正确状态代码的丰富对象 401 表示未经授权 404 表示 ContentNotFound 等 以及一些额外信息作为内容 此外 我需要内容看起来像序列化的Exception对
  • asp.net 将值从 JS/jquery 传递到 C# 背后的代码

    我已经尝试了 所有 可能的方法 将 screen width vlaue 从 aspx 页面上的 JS 脚本发送到后面代码中的 c 虽然我可以看到 screen width 被正确分配 但它永远不会分配给我的隐藏字段价值
  • 将 ASP.NET Identity 实施到现有数据库中

    我有一个现有的项目和 SQL 数据库 其中包含一个用户表 我们称之为 MyOldUsersTable 和带有 PK FK 关系的附加表 地址 电话 职位等 注意 该数据库不使用成员身份或身份 它是从另一个项目中提取的数据库 MyOldUse
  • 对 URL 进行编码 C#

    所以我有一个看起来像这样的 URL http www test com folder1 id 3 但基本上 当他们单击按钮时 我想在 URL 栏中显示与该 id 关联的值的名称 例如 id 3 是名为 Rollex 的手表 所以我想要读取
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • ASP.NET Core 会话超时

    我记得我们在 ASP NET 中使用了 session timeout 来更改会话超时 如果不更改 则为 20 分钟 我尝试在 Startup cs 中更改 ASP NET Core 3 1 中的会话超时 但没有任何反应 我对操作员使用身份
  • 为什么要加密 ASP.NET 中的查询字符串?

    我正在开发一个用 C ASP NET 编写的 Web 应用程序 该应用程序的原始设计者选择使用加密的查询字符串和Viewstate控制应用程序的 安全 和 状态 在此之前 我来自 GET POST 世界 我没有很好的基础来理解为什么人们会经
  • 共享 Global.asax 和 Error.aspx 文件

    我的解决方案中有多个 ASP NET 网站以及一个常见的 C 代码项目 事情如下 Website1 Website2 网站 n Common 首先 我想使用 Global asax 文件来记录所有未处理的异常 我可以为每个网站拥有一个 Gl
  • 使用AJAX通过WebApi调用Delete方法

    我在 ASP Net Web 应用程序中使用 WebApi 我在控制器中有一个名为Delete我想通过使用 jQuery 的 AJAX 方法来访问此方法 下面是我的代码 Authorize public int Delete int pro
  • 静态文件不通过 IIS 提供服务,而是通过 localhost 提供服务 - ASP.NET Core 3.1 MVC 和 C#

    我是编程新手 我能够自己解决大部分问题 但这个问题超出了我的想象 我正在使用 Visual Studio 在本地运行我的应用程序 当我在 VS 中单击 IIS Express 来运行该应用程序时 该应用程序将在带有 url 的浏览器中打开h
  • MVC + Razor:如何有条件地添加起始

    我想根据变量是否设置来修改div 所以我想做这样的事情 if SomethingIsSet div style background red else div style background blue 但我在 Visual Studio
  • Silverlight 3 工具未显示在 Visual Studio 中

    我下载并安装了Silverlight 3 工具 http go microsoft com fwlink LinkID 143571 我想在 ASP net 页面中使用 Silverlight 服务器控件 但我的工具箱中没有 Silverl

随机推荐