【问题标题】:authentication with asp.net web api 2使用 asp.net web api 2 进行身份验证
【发布时间】:2015-01-12 17:04:56
【问题描述】:

我正在使用 asp.net web api 2 并开发一个将托管在 Intranet 上的应用程序。因此,身份验证需求非常基本/最小。我有一些自定义表,用于存储注册用户的用户名/密码。使用它我需要验证用户。

据我了解,OAuth 用于使用来自 google/facebook/etc 的身份验证。表单身份验证与 asp.net mvc 一起使用。那么我应该实现什么样的身份验证。

我已经搜索过,但我发现的只是 OAuth 示例。但是我怎样才能做非常基本/最小的身份验证实现。

我知道这是一个重复的问题,但是如果有人可以指导我访问一个可以从基础开始的链接,例如如何阅读 Authorize 标头、如何创建/何时设置 IPrincipal 等,那就太好了...

编辑

没有法律/监管要求。单点登录或 Windows 登录也不是一种选择。所以只需要坚持使用包含用户名/密码字段的简单表格即可。

只想知道在 web-api 应用程序中包含身份验证/授权的最基本方法。

【问题讨论】:

  • 为什么不访问pluralsight.com 并参加相关课程?有一些不错的。
  • 你能指导我..哪个课程,或者告诉我要看的章节...
  • 这里有太多的未知数,使得这个问题对于这种格式来说过于宽泛。大多数大中型组织都会有一位架构师,可以帮助您在学习之前选择合适的方法。在大多数组织中,将用户名/密码粘贴在小型自定义应用程序的表格中通常是一个糟糕的选择,并且它成为 IT 运营的又一负担。为什么不使用 Windows 身份验证或您的组织拥有的任何单点登录?

标签: authentication asp.net-web-api asp.net-web-api2


【解决方案1】:

我最近回答了一个类似的问题,请看这里:https://stackoverflow.com/a/26757636/849507

由于您已经拥有自己的包含用户名和密码的表,因此前两部分适合您。你可以忽略角部分。

【讨论】:

  • 没有一种方法可以解决这个问题。这取决于很多因素,因此这根本无法回答问题。它还使用链接,反对 SO 指导。这些链接为一个不同的、更具体的问题提供了一个很好的答案。最重要的是如何在内网场景中选择合适的认证机制。
  • 只要没有Windows认证,就没有internet认证和intranet认证的区别。我没有看到你的问题。你读过他的问题吗?他要求提供一个可以开始的链接...
  • 我确实读过它。关键部分:“那么我应该实施什么样的身份验证。”这个问题太笼统了。如果公司有什么要求怎么办?或者是否存在监管问题?这只是可能影响此决策的无数因素的一瞥。您已经通过提出 Windows 问题表达了我的观点。这个问题需要架构师来回答,他会提出需要提出的重要问题。在我看来,在这里采用特定方法是幼稚的,并且可能会花费这个人及其公司的时间和金钱。
【解决方案2】:

对于未来的用户,如果您正在寻找最基本和最简单的实现,请查看 here 中所示的 SimpleOAuthProvider。它是实现和使用令牌身份验证的最基本和最简单的一种,对于大多数用例来说已经足够了。

请务必将 AccountsController 和 AuthRepository 替换为您的自定义实现。

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 2013-11-16
    • 2023-04-08
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多