【发布时间】:2016-04-07 02:41:53
【问题描述】:
我需要为 Meteor 应用程序实施 LDAP 身份验证,因为我们目前没有 LDAP 服务器。
我可以使用 OpenLDAP 在我的本地机器上实现吗?
我对 LDAP 身份验证了解不多。所以我很感激我能得到的任何帮助。我正在实现我朋友提供的下面提到的这段代码
Template.ldapLogin.events({
'submit #login-form': function (e) {
e.preventDefault();
var form = $(e.target);
var username = form.find("#login-form-username").val();
var password = form.find("#login-form-password").val();
if (username === "admin") {
Meteor.loginWithPassword(username, password, function (error) {
if ( ! error && password === "admin") {
// Set switch to trigger alert to change password
Session.setPersistent("passChangePrompt", 1);
}
});
} else {
Meteor.loginWithLDAP(username, password,
{ dn: "uid=" + username + ",ou=<foo>,dc=<bar>,dc=<baz>,dc=<qux>" },
function (error, success) {
if (error) {
console.log(error.reason);
} else {
FlowRouter.redirect('/');
};
});
}
}
});
Server:
Meteor.startup( function() {
LDAP_DEFAULTS.url = 'ldap://<ask your IT dude or gal>';
LDAP_DEFAULTS.dn = 'ou=<foo>,dc=<bar>,dc=<baz>,dc=<qux>';
LDAP_DEFAULTS.port = '';
LDAP_DEFAULTS.searchResultsProfileMap = [
{
resultKey: 'cn',
profileProperty: 'name'
}
,{
resultKey: 'mail',
profileProperty: 'phoneNumber'
}
]
});
再次感谢
【问题讨论】:
标签: meteor ldap meteor-blaze meteor-accounts