- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在使用标题中提到的工具/应用程序向 Active Directory 服务器进行身份验证时遇到问题。
我正在使用找到的测试 AD 环境 here这是相关的代码片段,如果有人有任何建议,我将不胜感激。
目前,我得到的错误是“无效的用户名/密码”。我不确定这是 bindDn 帐户/密码还是用户在表单中输入的帐户。根据 passport-ldapauth 项目,它是:
invalidCredentials flash message for InvalidCredentialsError
NoSuchObjectError, and
/no such user/i LDAP errors (default: 'Invalid username/password')
提前致谢。
客户端 - auth.service.js
...
login: function(user, callback) {
var cb = callback || angular.noop;
var deferred = $q.defer();
$http.post('/auth/ldap', {
email: user.email,
password: user.password
}).
success(function(data) {
$cookieStore.put('token', data.token);
currentUser = User.get();
deferred.resolve(data);
return cb();
}).
error(function(err) {
this.logout();
deferred.reject(err);
return cb(err);
}.bind(this));
return deferred.promise;
},
...
服务器 index.js
'use strict';
var express = require('express');
var passport = require('passport');
var auth = require('../auth.service');
var router = express.Router();
router.post('/', function(req, res, next) {
passport.authenticate('ldapauth', function (err, user, info) {
var error = err || info;
if (error) return res.json(401, error);
if (!user) return res.json(404, {message: 'Something went wrong, please try again.'});
var token = auth.signToken(user._id, user.role);
res.json({token: token});
})(req, res, next)
});
module.exports = router;
服务器 passport.js
var passport = require('passport');
var LdapStrategy = require('passport-ldapauth').Strategy;
exports.setup = function (User, config) {
passport.use(new LdapStrategy({
usernameField: 'email',
passwordField: 'password',
server: {
url: 'ldap://ldap.forumsys.com:389',
bindDn: "cn=read-only-admin,dc=example,dc=com",
bindCredentials: "password",
searchBase: 'ou=mathematicians,dc=example,dc=com',
searchFilter: 'uid={{username}}'
}
},
function (user, done) {
return done(null, user);
}
));
};
最佳答案
问题出在搜索库中的 ou=mathematicians
上。该网页的评论中提到了以下内容:
The issue you are seeing is due to the fact that “uid=riemann” is a member of “ou=mathemeticians”, but does not reside under that ou. His membership in that ou is established by a uniqueMember attribute on “ou=mathemeticians”.
这应该有效(即使使用 passport-ldapauth
使用的 ldapauth-fork
也尝试过):
var opts = {
server: {
"url": "ldap://ldap.forumsys.com:389",
"adminDn": "cn=read-only-admin,dc=example,dc=com",
"adminPassword": "password",
"searchBase": "dc=example,dc=com",
"searchFilter": "(uid={{username}})",
}
};
关于angularjs - 使用 NodeJS、Express 和 Passport-ldapauth 进行 LDAP 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28159093/
我在 LDAP 服务器上验证用户身份时遇到问题。我将重要的代码粘贴在下面。谁能告诉我这个缺少哪些部分或者这个nodejs模块是否能够做我想做的事情?我已经尝试了两天了,但找不到解决方案。 const
我正在将 Passport-ldapauth 与我的 NODEJS+ExpressJS 应用程序一起使用。我正在尝试获取经过身份验证的用户的所有嵌套成员的列表,但不知道该怎么做。 我的用户“X”拥有“
我尝试对 LdapAuthentication 进行编程,我需要一些帮助。 首先我需要在/app/Controller/中配置“$components” 组件/AppController.php a
因此,我的应用程序通过 LDAP 服务器使用登录。经过身份验证后,我登录或在数据库上创建用户,然后继续使用我的应用程序。 但是,当用户无法使用 ldap 登录(无效凭据或其他原因)时,我尝试显示一条闪
我正在尝试 Hook lliferay 6.1 中的 LDAPAuth 类以覆盖 authenticateByEmailAddress 以从我这边添加一些逻辑。我不确定如何在 liferay-hook
我目前正在从事一个项目,在该项目中,我试图根据学校的 LDAP 服务器对用户进行身份验证。为此,我尝试使用 NPM 包 passport-ldapauth。 提前声明:我 100% 确定所提供的 us
我正在尝试使用 passport-ldapauth npm 验证 openLDAP 用户名和密码。在执行下面的代码时,我总是得到错误{ message: 'Missing credentials' }
我正在尝试使用 passport-ldapauth 和 express 向 LDAP 服务器进行身份验证。 使用 ldap url (ldap://myserver...) 的身份验证工作正常,但使用
我在使用标题中提到的工具/应用程序向 Active Directory 服务器进行身份验证时遇到问题。 我正在使用找到的测试 AD 环境 here这是相关的代码片段,如果有人有任何建议,我将不胜感激。
嗨,我是 openldap 和 nodejs 的新手。我正在尝试创建 openldap 身份验证并使用一个简单的 Node 应用程序来测试针对本地 ldap 服务器的身份验证。 我的理解是,我可以创建
我已经为 passport-ldapauth 苦苦挣扎了几天,我不知道我做错了什么。 简单地说,我有一个使用两种 Passport 策略的项目:本地和 LDAP。本地策略非常适合我,但 LDAP 是有
我是一名优秀的程序员,十分优秀!