我正在使用自定义LDAP验证方法来为我的应用程序验证用户 . 我所做的是,我有用户集合,我将首先找到userId,如果它的真实,我将调用"ldapLogin"方法,它将使用LDAP服务器验证用户 . 然后我想将Meteor帐户的状态设置为userId的登录状态 .
login.js
Template.login.events({
'click #loginbtn': function (e) {
username = $('.ui.form').find('#loginform_username').val();
password = $('.ui.form').find('#loginform_password').val();
var dn=<DN info>;
var sys_password=<password>;
if( username!="" || password!=""){
var count=Meteor.users.find({username:username}).count(); //check for users already exist or not
if(count==1){
Meteor.call('loginLdap',dn,username,sys_password,function (error, result) {
if (error)
console.log(error.reason);
Session.set('userLogin',result);
});
var employeeLogin=Session.get('userLogin');
if(employeeLogin){
/*
*how to change the login status with only passing username
*/
}
}else alert("User not found!\n Please check your username or contact your Manager.");
}else alert("Username/Password field can not be empty!");
由于我已经验证了密码,我希望登录只能通过用户名 . 这可以在Meteor Accounts包中做到吗?
1 回答
您只需使用userId即可使用Meteor.call登录用户 . 在服务器上,我执行以下操作:
然后在客户端: