MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Kiến trúc cho hệ thống đăng nhập trên ngăn xếp MEAN?

Tôi đã kết thúc việc kết hợp quy trình công việc ban đầu của mình với ví dụ xác thực của Express, được thấy tại đây . Nó như sau:

  • Khi người dùng tải ứng dụng lần đầu, lệnh gọi http được thực hiện tới điểm cuối Express để kiểm tra xem phiên đã tồn tại cho người dùng chưa. Nếu vậy, người dùng được lưu trữ trong $rootScope và được coi là đã đăng nhập.
  • Bất kỳ khi nào tuyến AngularJS thay đổi, cùng một điểm cuối được truy cập. Bảo vệ tuyến đường đã được chỉ định theo cách tương tự như được mô tả tại đây . Nếu điểm cuối trả về không có phiên nào tồn tại, hãy $rootScope.user chưa được đặt (nếu cần) và người dùng được chuyển hướng đến trang đăng nhập.
  • Khi biểu mẫu đăng nhập được xử lý, biểu mẫu này sẽ đăng lên điểm cuối Express. Điểm cuối truy xuất người dùng từ mongoDB (nếu nó tồn tại) và cố gắng băm mật khẩu. Nếu nó trùng khớp, phiên của người dùng được đặt, được lưu trữ trong DB mongo và điểm cuối trả về user đối tượng (được sử dụng để lưu trữ trong $ rootScope như đã đề cập trước đây).
  • Bất kỳ khi nào có bất kỳ điểm cuối nào khác được truy cập, các chức năng trước tiên được chuyển qua restrict chức năng đảm bảo rằng một phiên tồn tại trước khi gửi bất kỳ dữ liệu nào đến máy khách. Nó trả về một 401 nếu không có phiên nào tồn tại, phiên này sẽ được xử lý ở phía Angular bằng cách sử dụng trình chặn HTTP này để hủy đặt $rootScope.user và chuyển hướng đến màn hình đăng nhập.
  • Khi người dùng nhấp vào "đăng xuất" ở phía Angular, phiên sẽ không được đặt và bị xóa khỏi DB mongo, $rootScope.user được đặt thành null và người dùng được chuyển hướng trở lại trang đầu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NoSQL so với SQL khi khả năng mở rộng không liên quan

  2. Lỗi truy vấn Mongodb được chọn lồng nhau

  3. Mongodb và Express

  4. Cách trích xuất dấu thời gian từ mongodb objectid trong postgres

  5. mongodb hiển thị danh sách dbs