【问题标题】:Web Api ASP.NET Custom AuthenticationWeb Api ASP.NET 自定义身份验证
【发布时间】:2016-05-06 08:55:52
【问题描述】:

我有一个 Web Api,它返回有关公司信息的基本信息。登录信息通过他们的数据库(用于桌面应用程序)进行验证,但使用 AngularJS 我只向 API 询问用户名和密码。我如何使用他们的用户和密码实现身份验证系统(如 Visual Studio 上的默认系统)?可以使用Token之类的东西吗?你能帮助我吗?非常感谢。

[编辑 1]

顺便说一下,这个 webapi 使用一个旧的 foxpro 数据库来管理用户和密码。所以如果我去使用身份验证系统,我不知道如何将数据库上下文与这种类型的旧数据库一起使用。

【问题讨论】:

    标签: c# asp.net angularjs


    【解决方案1】:

    这个可以一步一步看article

    【讨论】:

    • 我现在正在阅读文档,但我看到作者使用实体 F. 进行用户管理(他还声明了 class AuthContext : IdentityDbContext<IdentityUser> 类)但我有一个旧的 Foxpro DB用户和密码。这个案子我该怎么办??
    • 我已经这样做了。只是我编写了自己的 OAuthAuthorizationServerProvider,现在可以使用 Bearer 以及我的 FoxPro DB 自定义用户名和密码,没有任何问题。
    【解决方案2】:

    您的问题相当广泛,但让我们尝试解决它。基本上,你需要把它一分为二:

    1. 在 ASP.NET 中与 FoxproDb 通信。 Stackoverflow 上有很多关于此的问答,例如:FoxPro Database and asp.net

      如果可能,考虑从 FoxproDb 迁移到 Sql Server。

    2. 身份验证也是一个大主题,但如果您正在构建 Intranet 应用程序或将使用 HTTPS 保护的应用程序,则可以选择基本身份验证。我浏览了大量文章,这篇文章可能是最简单的,也是最重要的Web Api2 Basic Authentication - 如果您使用 AngularJs 前端,您可能希望 WebApi2 作为后端。

      现在,请注意,使用基本身份验证,您会在每个请求中发送凭据,因此很容易窃取用户名:密码。如果您想支持 HTTP,您可能需要使用其他一些身份验证系统。

    其他好的链接:

    User Authentication in ASP.NET Web API

    【讨论】:

    • 感谢朋友提供的信息。我已经在文章link 的帮助下解决了这个问题。抱歉,但我不能告诉必须迁移数据库的客户,因为他不能这样做。还是谢谢!
    猜你喜欢
    • 2018-03-15
    • 2014-05-21
    • 2015-03-22
    • 2017-01-13
    • 2016-04-05
    • 1970-01-01
    • 2016-12-31
    • 2012-06-16
    • 2017-10-22
    相关资源
    最近更新 更多