Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Active Directory(带LDAP)在angularjs/javascript前端上进行身份验证-流程应该是什么?_Javascript_Java_Angularjs_Active Directory_Ldap - Fatal编程技术网

使用Active Directory(带LDAP)在angularjs/javascript前端上进行身份验证-流程应该是什么?

使用Active Directory(带LDAP)在angularjs/javascript前端上进行身份验证-流程应该是什么?,javascript,java,angularjs,active-directory,ldap,Javascript,Java,Angularjs,Active Directory,Ldap,我正在从事一个项目,在该项目中,我们需要使用用户的windows凭据对应用程序中的用户进行身份验证。前端使用Angularjs和后端java 在做了大量合理的研究之后,我发现由于安全问题,前端无法直接获取Windows user&pass 但我认为整个过程应该从前端开始,通过获取这两个加密凭据或至少一个令牌并将其发送到后端,以启动ntlm身份验证过程 此外,还不确定用户是否必须通过键入其windows凭据登录应用程序,或者是否应使用ntlm passthrough自动登录应用程序 我没有很好地掌

我正在从事一个项目,在该项目中,我们需要使用用户的windows凭据对应用程序中的用户进行身份验证。前端使用Angularjs和后端java

在做了大量合理的研究之后,我发现由于安全问题,前端无法直接获取Windows user&pass

但我认为整个过程应该从前端开始,通过获取这两个加密凭据或至少一个令牌并将其发送到后端,以启动ntlm身份验证过程

此外,还不确定用户是否必须通过键入其windows凭据登录应用程序,或者是否应使用ntlm passthrough自动登录应用程序


我没有很好地掌握这个概念,这是因为我发现的大多数相关来源都是指后端解决方案(其中80%是指后端解决方案),但对于fronted几乎没有。因此,我谦恭地要求就这一主题作出一些澄清。是否有某种中间件或npm包,我应该使用它们来获取user&pass,或者您有什么建议?

Web服务器将某些服务器变量公开给它们所服务的代码处理请求

对于我来说,使用IIS,这里描述了以下内容:

因为我使用IISNode;my node.js环境完全嵌入到IIS中;我可以访问这些服务器变量。正如链接所描述的,每种编程语言似乎都有自己的方式来访问这些变量

所以我怀疑Java是否也有这些功能。要使用的确切代码将取决于您的后端

但是快速搜索“java服务器变量”已经可以得到以下结果:

对于java访问管理器

对于老式的JSP

用于JavaWicket服务器

因此,请查看特定web服务器软件或Java API的文档。 应该有一个列表和如何访问这些的示例代码


获取此数据服务器端后,您可以执行LDAP查询,然后返回结果客户端。

如果我在前端使用
with credentials
http头创建CORS请求,我可以在
AUTH_user
中读取后端的windows用户名(或等效名称)在配置文件中公开web服务器后的全局属性。(网址:。config@IIS在我的情况下),所以我只提供一个基本的登录表单,显示用户的windows帐户名,并要求他们在密码字段中提供密码。然后,我有他们输入的windows用户名和密码来创建LDAP查询并发送给AD。嘿,Shilly!谢谢你的回答。这正是我所需要的,但你能详细说明一下吗?在我的webapp中,我已经将凭据设置为true。此时,应该可以在后端访问windows凭据(在
AUTH_USER
内部或等效内部)?好的,谢谢您的回答!因此,这是后端的观点,这很有用,可能能够解决我面临的难题:来自active directory的windows凭据是首先在前端还是后端可用?从您的回复中我了解到,它们首先在后端可用,然后使用LDAP发送到te前端。它们在后端可用。然后,后端将自己对AD服务器执行LDAP查询。处理LDAP查询后,您自己的后端服务器可以在前端客户端是否具有访问权限等情况下响应前端客户端。这样,前端客户端就不必知道任何有关LDAP或AD的信息。它只需要发送自己的凭据,并知道当服务器说“允许”或“不允许”时该怎么办。