Tôi hiện đang làm việc trên một ứng dụng web trong node.js mà người dùng cần đăng nhập để truy cập thông tin. Tôi muốn kiểm tra đăng nhập và mật khẩu người dùng với một máy chủ thư mục hoạt động bên ngoài. Tôi đã thử bằng cách sử dụng nút-ldapauth, nhưng tôi không thể làm cho nó hoạt động (Tôi không biết nếu nó hoạt động cho các thư mục hoạt động, có thể chỉ cần openLdap). Bất kỳ đề xuất?ldap nodejs xác thực thư mục hoạt động
Trả lời
Tôi đã sử dụng thư viện rubyldap để giải quyết vấn đề!
Cập nhật: Theo yêu cầu này là thư viện tôi sử dụng để giải quyết vấn đề https://github.com/ruby-ldap/ruby-net-ldap/
Sau khi cài đặt thư viện ruby trên máy chủ của bạn, sử dụng gem install (nhìn nó lên nó không phải là quá khó)
require 'rubygems'
require 'net/ldap'
ldap = Net::LDAP.new :host => server_ip_address,
:port => 389,
:auth => {
:method => :simple,
:username => "cn=manager, dc=example, dc=com",
:password => "opensesame"
}
filter = Net::LDAP::Filter.eq("cn", "George*")
treebase = "dc=example, dc=com"
ldap.search(:base => treebase, :filter => filter) do |entry|
puts "DN: #{entry.dn}"
entry.each do |attribute, values|
puts " #{attribute}:"
values.each do |value|
puts " --->#{value}"
end
end
end
p ldap.get_operation_result
Thiết lập một tệp ruby như minh họa ở trên.
Bạn có thể chạy các thư viện ruby bằng cách sử dụng
var ldap = 'ruby '+process.cwd()+'/src/ruby/ruby_file_name '+ user+' '+password;
Để lấy người sử dụng và mật khẩu trong ruby sử dụng argv [0] và argv 1. Bạn có thể lấy các ruby trở lại kết quả trong Node.js bằng cách sử dụng một cuộc gọi trở lại chức năng
var result = exec(ldap, theCallBack);
trong hàm theCallBack bạn có thể lấy kết quả thư viện ruby trở bằng cách đi qua trong stdout
ví dụ:
function theCallBack(err,stdout) {
----your code here, stdout is what you PUT in the ruby library.
Hy vọng điều này sẽ hữu ích!
Bạn có thể đăng snipet mã của mình và lỗi bạn nhận được không?
Tôi đang cố gắng thực hiện tương tự và đi qua thư viện ldapjs. Nó cho phép bạn thực hiện kết nối khách hàng ldap với máy chủ LDAP và bạn có thể, khi thực hiện kết nối xác thực tên người dùng và mật khẩu.
Tôi đã cố gắng thiết lập nó trên cửa sổ với 0.8.2 và gặp phải một số vấn đề mà có vẻ như nhà phát triển đang tìm kiếm. Các khía cạnh tốt đẹp của thư viện này là nó không dựa vào các ràng buộc OpenLDAP rằng một trong những bạn tham chiếu không.
https://github.com/mcavage/node-ldapjs/issues/81 là sự cố đã đề cập đến sự cố cài đặt trên Windows. – Christophe
Vì vậy, một đoạn mã của tôi trông giống như thư viện ldapauth lib2 https://github.com/trentm/node-ldapauth khá nhiều được sử dụng mã ví dụ – Denis
Nếu tôi điều khiển.log (ldap) tôi nhận được một cái gì đó như thế này để đổi lại kết nối: {cặp: [Object], ghi: đúng, có thể đọc được: đúng, _paused: false, _needDrain: false, _pending: [], _pendingCallbacks: [], _pendingBytes: 0, ổ cắm: [Object], được mã hóa: [Object], v.v. – Denis
Đối với việc cài đặt ldapjs làm việc trên Windows, tôi đã viết các bước sau đây tôi http://tochedev.blogspot.be/2012/07/i-wanted-to-add-ldapjs-to-my-windows.html
Hope this helps.
- 1. Xác thực thư mục hoạt động với python-ldap luôn trả về (97, [])
- 2. Xác thực thư mục hoạt động cho sản phẩm SaaS
- 3. Lỗi hoạt động LDAP
- 4. Xác thực Ldap trong symfony2
- 5. Vấn đề xác thực ldap Java
- 6. Cách xác thực LDAP trong .NET
- 7. Xác thực LDAP với JBoss 7
- 8. SaaS LDAP/dịch vụ thư mục?
- 9. Cách xác thực miền thư mục hoạt động mà ứng dụng của tôi đang chạy?
- 10. sử dụng xác thực cửa sổ với các nhóm thư mục hoạt động làm vai trò
- 11. xác thực ssh không mật khẩu bằng thư mục hoạt động
- 12. Xác thực cơ sở IIS bằng LDAP
- 13. Xuân An và LDAP xác thực
- 14. Máy chủ xác thực LDAP tại sao?
- 15. Xóa người dùng trong thư mục hoạt động bằng C#
- 16. Trình tìm kiếm thư mục không đồng bộ (LDAP)
- 17. imagemagick với nodejs không hoạt động
- 18. Lỗi mã hóa khi sử dụng xác thực ldap Devise
- 19. Liệt kê tất cả các nhóm thư mục hoạt động
- 20. Nodejs hoặc ExpressJS Xác thực Windows
- 21. LDAP xác thực người dùng trên khắp miền tin cậy
- 22. Sử dụng LDAP để xác thực người dùng SVN
- 23. Xác thực Gitweb bằng Gitosis không có LDAP Auth?
- 24. Apache 2 - LDAP/Active Directory - Quy trình xác thực/đăng nhập tự động
- 25. Tại sao xác thực đối với LDAP với DirectoryEntry liên tục ném COMException (0x8007203A): "Máy chủ không hoạt động"?
- 26. Xác thực Windows không hoạt động
- 27. Passport.js xác thực không hoạt động
- 28. Truy vấn LDAP Thư mục Họat động bằng sAMAccountName và Tên miền
- 29. AutoIncrement hoạt động như thế nào trong Sequelize của NodeJs?
- 30. Thư mục công cộng Meteor không hoạt động
Nó sẽ là tuyệt vời nếu bạn có thể chỉnh sửa câu trả lời này để bao gồm một số thông tin/liên kết/mã về giải pháp bạn đã sử dụng để nó có thể giúp những người khác có thể gặp sự cố này. – Dhaust
Tôi đã cập nhật giải pháp của mình theo yêu cầu – Denis
Tuyệt vời, cảm ơn vì điều đó. – Dhaust