MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Архитектура за система за влизане в стека MEAN?

В крайна сметка комбинирах оригиналния си работен процес с примера за удостоверяване на Express, видях тук . Той е както следва:

  • Когато потребителят първоначално зареди приложението, се прави http извикване към крайна точка Express, която проверява дали вече съществува сесия за потребителя. Ако е така, потребителят се съхранява в $rootScope и се счита за влязъл.
  • Всеки път, когато маршрутът на AngularJS се промени, се осъществява достъп до същата крайна точка. Защитата на маршрута беше определена по начин, подобен на описания тук . Ако крайната точка някога върне, че не съществува сесия, $rootScope.user не е зададено (ако трябва) и потребителят се пренасочва към страницата за вход.
  • Когато формулярът за влизане се обработва, той публикува в крайна точка Express. Крайната точка извлича потребителя от mongoDB (ако съществува) и се опитва да хешира паролата. Ако има съвпадение, сесията на потребителя се задава, съхранява се в базата данни на mongo и крайната точка връща user обект (използван за съхраняване в $rootScope, както беше споменато по-горе).
  • Всеки път, когато има достъп до други крайни точки, функциите първо се предават през restrict функция, която гарантира, че сесията съществува, преди да изпрати каквито и да е данни на клиента. Връща 401 ако не съществува сесия, която след това се обработва от страна на Angular с помощта на този HTTP прихващач за деактивиране на $rootScope.user и пренасочване към екрана за вход.
  • Когато потребителят щракне върху „излизане“ от страната на Angular, сесията се деактивира и се изтрива от mongo DB, $rootScope.user е зададено на null и потребителят се пренасочва обратно към началната страница.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Auth не успява да намери потребителско име в Bitnami MEAN Stack Image

  2. Влияние върху производителността на типа данни на индекса в MongoDB?

  3. Как да разреша това дизайнерско ограничение в mongo db спрямо производителността?

  4. Как да стартирате необработени mongodb команди от pymongo

  5. Агрегиране на ниво месец и ниво година, също намерете средната стойност в MongoDB