POST调用以向前端应用程序验证用户

时间:2016-12-05 22:37:03

标签: javascript c# security active-directory ldap

我的任务是在前端Javascript应用程序上创建LDAP身份验证。

我的时间非常有限,而且工具集非常小。该工具集是前端javascript应用程序和可用的C#应用​​程序,我可以发布并获取请求。

我以为我可以简单地拨打电话,例如https://mybackend.com/authenticate 我会在哪里发布用户名和密码。

在后端,无论用户是否在AD中有效,都会返回。然后我可以在前端使用它以确保用户已登录。

这种做法是非常不安全还是有缺陷?我想,如果我在上面的帖子中发布的内容不多,那么就会暴露出来。

任何提示都会非常有用。

3 个答案:

答案 0 :(得分:2)

  

这种做法是非常不安全还是有缺陷?

这不是不安全的,这是你做的正常方式。可以通过添加CSRF令牌来增加安全性,CSRF令牌将在服务器上验证任何表单提交。

是的,您应该通过HTTPS发送所有数据,这将加密有效负载。

答案 1 :(得分:2)

您正在做的事情对于像Angular这样的前端JavaScript框架是正常的。只要您使用 Https ,就应该没问题。

唯一的问题是如何处理子序列页面请求。 有两种方法可以处理它 -

  1. 最简单的方法是使用ASP.Net MVC作为登录页面,并使用Cookie Owin Middleware。由于在API调用时将相同的cookie发送回服务器,因此您无需执行任何额外的工作。您可以下载my sample code at GitHub - OwinAuthenticationService

  2. 另一种方法是使用Bearer Token,您必须在每次页面请求时将相同的令牌发送回服务器。

答案 2 :(得分:0)

所有方法都不安全。 特别是没有HTTPS。

但是您可以将Authentications放在消息的标题中,并使用由只有服务器知道的密钥生成的令牌。