我有这个简单的 React 组件来处理 Active Directory 身份验证:

import React from 'react';
import ActiveDirectory from 'activedirectory';

export default class ActiveDirectoryComponent extends React.Component {
  state = {
    authResponse: undefined
  };

  componentDidMount() {
    var config = {
      url: 'ldap://compandomain.com:389',
      baseDN: 'dc=domainname,dc=com',
      username: 'user',
      password: 'pass'
    };

    var ad = new ActiveDirectory(config);
    var username = 'john.smith@domain.com';
    var password = 'password';

    ad.authenticate(username, password, function (err, auth) {
      if (err) {
        this.setState({ authResponse: { error: JSON.stringify(err) } });
        return;
      }

      if (auth) {
        this.setState({ authResponse: auth });
      } else {
        console.log('Authentication failed!');
        this.setState({ authResponse: { authFailed: true } });
      }
    });
  }

  render() {
    if (!this.state.authResponse) {
      return <div>Authenticating....</div>;
    }
    if (this.state.authResponse.error) {
      return <div>{this.state.authResponse.error}</div>
    }
    if (this.state.authResponse.authFailed) {
      return <div>Authentication Failed</div>
    }
    return <div>.....</div>
  }
}

当我尝试使用此组件时:

 import ActiveDirectoryComponent from '../components/ActiveDirectoryAuthentication'; 

我的应用程序没有加载,我在控制台中收到此错误:

Uncaught TypeError: unknown stream type "undefined"
    at Logger.addStream (bunyan.js?a10b:620)
    at eval (bunyan.js?a10b:470)
    at Array.forEach (<anonymous>)
    at new Logger (bunyan.js?a10b:469)
    at Function.createLogger (bunyan.js?a10b:1618)
    at Object.eval (activedirectory.js?f995:16)
    at eval (990:1836)
    at Object.<anonymous> (bundle.js:1)
    at e (bundle.js:1)
    at eval (index.js?048a:1)

知道需要为 bunyan 设置什么才能正确地拥有流吗? 在我看来,这像是“activedirectory”模块中的一个问题,因为我认为它应该通过 bunyan 正确创建流。 但我并不完全确定,因为我对 React 非常陌生。

更新 (10/31/2018):'activedirectory' 模块在 Javascript 中完美运行。 上面的问题只在 React 中看到。 我必须编写一个单独的 Javascript 应用程序来与 activedirectory 交互并在我的 React 应用程序中使用它。 虽然这可以作为一种解决方法,但如果上述问题得到解决以便所有代码都在 React 中,那就太好了。

#1楼 票数:2

Github 上的 activedirectory 模块有一个开放的拉取请求,它解决了这个问题: https : //github.com/gheeres/node-activedirectory/pull/150/files

我在本地尝试过,它解决了问题。 希望 PR 最终会合并。

  ask by mbenhalima translate from so

未解决问题?本站智能推荐:

1回复

将ActiveDirectory Javascript代码集成到React中

我有这个Javascript代码来处理ActiveDirectory身份验证。 我需要创建一个使用此代码的React组件,在React中实现此目标的最佳方法是什么? React组件如下所示:
2回复

未捕获的类型错误:无法读取未定义的 React js 的属性“推送”

我正在开发 React 应用程序。 我在其他组件的子组件中使用 Header.js 组件。 当我单击链接时,它不会重定向到其他组件,它会在错误消息之后显示。 未捕获的类型错误:无法读取未定义的属性“推送” 版本使用 "react": "^16.12.0", "react-router-do
2回复

未捕获的类型错误:无法读取未定义的属性“映射”(REACT NATIVE - Javascript)

一直在尝试导入一个 Json 文件,然后在 React Native 应用程序中探索和显示它。 我只是在学习 React Native,同时也在学习 Javascript。 } 接下来是 Json。 在此处输入图片说明 这是我得到的错误。 在此处输入图片说明 我只是在学习 React N
1回复

未捕获的类型错误:无法读取 MyCard 中未定义的属性“unique_id”(main.chunk.js:491)

我的API数据如下: 应用程序js MyCard.js 我是新来的反应。 我正在尝试将获取的 api 数据作为道具从 App 发送到 MyCard 组件。 但是将错误显示为未定义。 我们通常将子组件中的道具作为 props.child 访问,这里我尝试使用 props.match["
1回复

使用 react 和 ASP.NET Core 从 Active Directory 获取数据

有人可以共享代码来检索用户详细信息以及要根据SamAccountName输入显示的缩略图吗? 这必须使用 ASP.NET Core 完成并做出反应。 我对这些技术很陌生,请帮忙。 我的试验如下 控制器代码: 组件代码: PFB 关于我如何进行身份验证然后检索图像的代码:
1回复

错误:类型错误:使用 flalist 时未定义不是对象(评估“tem.userName”)

我对 reactnative flatlist 有问题,flatlis 不呈现我应该在下面做的是代码...................................... ………………………………………………………………………………………………………………………………………………………………
1回复

Active Directory 使用错误凭据进行身份验证

我正在使用 npm 包activedirectory连接到我公司的域控制器,以便对内部网站上的用户进行身份验证。 该计划是让用户将他们的 Windows 域凭据输入到网站的登录页面(用 React 编写)。 该网站会将凭据转发到后端 Express 服务器,如下所示: const express =
1回复

.NET Core Web API和React的Active Directory身份验证

我不知道我是否不在正确的地方,但是我似乎找不到正确的指南来开始使用React / .NET Core 2.1 Web API和(本地)Active Directory身份验证。 一般来说,我对.NET身份认证比较陌生,而对Active Directory身份认证则完全陌生。 我首先使