Я использую sails.js, и я могу использовать API для изменения данных в mongodb, например, создать нового пользователя, изменить пользователей и т. Д. Как запретить доступ к API для неавторизованных пользователей?Как запретить доступ к API для неавторизованных пользователей?
ответ
Вы можете попробовать мои example.
И изменить то, что вы хотите, авторизоваться в config/policies.js
. Пример:
'MyController': {
'*': 'isAuthenticated'
},
Совсем немного, чтобы попасть в здесь, так что без какой-либо дополнительной справочной информации в коротких вам потребуется:
политика: Эти функции, которые выполняются, когда маршрут, например,/api/view. Они могут гарантировать, что действительный пользователь сохранен в вашей сессии, прежде чем разрешить доступ к логике контроллера маршрута.
Система проверки подлинности: кто-то упомянул паспортные знаки. Лично я бы создал свою собственную пользовательскую модель, пользовательский контроллер и представления, чтобы зарегистрировать, войти, забыть пароль. Зачем? Потому что вам нужно в какой-то момент узнать, как паруса работают с аутентификацией, сеансами, политиками и другими процессами. Короче говоря, создайте модель пользователя для хранения информации о пользователе, возможно, у вас есть метод oncreate, который шифрует пароль до того, как запись пользователя будет сохранена как новая. Создайте пользовательский контроллер, который управляет регистрацией, выходом из системы, регистрацией и забытыми паролями. Создайте маршруты для каждого из этих действий контроллера, окно входа в систему вызовет ваше действие входа в контроллер и найдет модель пользователя, сравнивая данный пароль с сохраненным зашифрованным паролем.
Управление сеансом: после входа пользователя в систему или выхода из системы вам необходимо управлять своей «сессией». Проще говоря, если вы не управляете сеансами, пользователь будет постоянно входить в систему, поскольку система их не запомнит. Это довольно легко сделать в парусах, и я рекомендую прочитать: http://sailsjs.org/documentation/concepts/sessions Чтобы это было просто, когда пользователь входит в систему, вы установите переменную сеанса, такую как req.session.User.id = 1, и когда вы хотите, чтобы вы вышли из системы, вы можете аннулировать сеанс, который заставляет их вернуться на страницу входа.
Назад к политике: Я упомянул об этом раньше, но в политике вы проверите сеанс, чтобы узнать, разрешено ли им просматривать каждое действие контроллера. Это означает, что вы можете подробно рассказать о том, какие действия они могут использовать и не могут использовать. Примеры политики можно найти здесь: http://sailsjs.org/documentation/concepts/policies В моей политике я просто имею функцию LoggedIn, которая проверяет, что у пользователя есть действительный сеанс, и если он не отправляет их на логин. Эта базовая защита запрещает пользователям просматривать то, что они не должны были входить в систему.
Маршруты/действия плана: вам необходимо отключить встроенный проект, который паруса включил по умолчанию. Они великолепны в разработке, когда вы хотите читать/писать/удалять элементы из своей базы данных через интерфейс Api, но в производстве это опасно, и вы захотите, чтобы политики выполняли работу вместе с сеансами. Чтобы отключить чертежи, посмотрите руководство здесь: http://sailsjs.org/documentation/anatomy/my-app/config/blueprints-js Посмотрите, как все они в основном установлены в true? прочитайте комментарии для каждого элемента и решите, нужно ли его переключать на ложь.
Если вам нужна дополнительная помощь по любому аспекту этого вопроса, просто дайте мне знать. Будьте настолько конкретны, насколько сможете, так как это помогает. Я рекомендую взглянуть на «Паруса в действии» на свою электронную книгу, которая также охватывает эту информацию с примером кода!
- 1. Предотвращение доступа к странице для неавторизованных пользователей
- 2. Включите доступ к модулю для неавторизованных пользователей в sribac Yii
- 3. Как я могу запретить доступ для неавторизованных пользователей на любую веб-страницу
- 4. Отклонить неавторизованных пользователей с предупреждающим сообщением
- 5. предотвращает доступ неавторизованных пользователей к страницам администратора в laravel 5
- 6. Woocommerce - Корзинка для неавторизованных пользователей
- 7. Переадресовать неавторизованных пользователей asp net
- 8. Запретить доступ к файлам других пользователей
- 9. Blank строка ввода для неавторизованных пользователей
- 10. Перенаправление неавторизованных пользователей к другому действию контроллера
- 11. Как запретить пользователям доступ к данным других пользователей?
- 12. CSS на IIS развернул код ASP.NET, исчезающий для неавторизованных пользователей
- 13. Запретить доступ к определенному установленному программному обеспечению для пользователей
- 14. Отклонить статический контент для неавторизованных пользователей с помощью web.config
- 15. Запретить доступ пользователей, но разрешить доступ к сценарию/cron
- 16. Скрыть категорию для неавторизованных пользователей Wordpress
- 17. Как заблокировать неавторизованных пользователей из приложения?
- 18. Как запретить пользователям доступ к другим записям пользователей?
- 19. Запретить доступ пользователю к данным от других пользователей
- 20. DocuSign Envelope View для неавторизованных пользователей
- 21. CakePHP Auth: перенаправление неавторизованных пользователей
- 22. Где MVC3 перенаправляет неавторизованных пользователей?
- 23. Переадресовать неавторизованных пользователей cakePHP на страницу реферера
- 24. Как запретить доступ для авторизованных пользователей в Symfony2?
- 25. Как запретить доступ к службе?
- 26. Запретить доступ к URI
- 27. Политика Laravel 5.3 как перенаправить неавторизованных пользователей
- 28. Как перенаправить неавторизованных пользователей на другую страницу?
- 29. Kentico 8 - доступ к страницам: запретить всех пользователей, кроме роли
- 30. SQL Server: лучший способ запретить доступ пользователей к старым данным.
Вы пробовали паспорт? http://passportjs.org/ –