【发布时间】:2015-03-28 00:42:09
【问题描述】:
我一直在努力解决如何为我们当前/未来的 WebAPI 简化 WebAPI/身份验证。我是新手,但我会尽力解释。我们从单个 WebAPI 开始并设置 ASP.Net Identity 来处理身份验证等。然后我们再设置一个,很快就30了。
这里的问题很明显 - 对于每个新的 WebAPI,我们都必须插入另一个 MS 身份授权层。在某些情况下,只有一个庞大的 WebAPI 就可以工作,但在这种情况下,它们是完全独立的产品(加上其糟糕的设计)。
所以我们想拍摄这样的东西:
但我很难弄清楚每个 WebAPI 将如何获取用户信息,以便我可以检查角色等。
我已经阅读了许多关于 WebAPI 身份验证的帖子,例如:this this 和 this,但我发现的所有内容似乎都与保护单个 WebAPI 有关,我们已经知道如何做到这一点。感觉我们需要的是一种用于 WebAPI 的 SSO 方法。似乎我们需要类似外部身份验证方法(如 Facebook、Twitter 等)但使用我们自己的后端数据库 - 我只是不知道正确的术语。
所以我正在向专家寻求帮助,让我朝着正确的方向前进:
- 通常的做法是让每个 WebAPI 都有自己的身份验证/授权层,每个都指向同一个数据库吗?
- WebAPI/Identity 中是否已经内置了单一身份验证层概念,还是必须从头开始?
- 我们应该使用Authentication Filter 吗?
我可以在幕后破解所有问题,但感觉好像我缺少一个明显的答案。
是否有一种内置方法可以在每个 WebAPI 和身份验证 API 之间设置“信任”以执行以下操作:
这是我们目前前进的方向:
如果我能在正确的方向上获得总体推动,我会很高兴作为一拳。我只是不想重新发明轮子。
哦,在我忘记之前,我们在 IIS 上使用 asp.net 4.5、WebAPI 2、Identity 2
感谢您的任何指点。
【问题讨论】:
标签: c# asp.net authentication asp.net-web-api asp.net-web-api2