0

Итак, я начинаю строить веб-приложение в социальной сети. Я изучаю, как объединить части моего стека, и я ищу некоторые рекомендации о том, что мне позволят различные рамки. Моя текущая идея стека иметь:Строительство социальной сети

  • Firebase JSON API: обслуживание пользователей, почта, комментарий, и все другие данные
  • EmberFire: подключить этот API в EmberJS
  • EmberJS: мой передний конец MVC (потому что я новичок в MVC и Ember, кажется, наиболее доступным)

То, что я сейчас натыкаюсь, это то, как я собираюсь реализовать пользователей с этим стеком. Я посмотрел на basic authentication stuff, но я не нашел ничего, что позволило бы мне разрешить определенные действия и мнения для определенных пользователей, а не других - основы социальной сети.

Разве разумно делать это в интерфейсе MVC? Если да, то что я должен использовать для аутентификации/персонализации? Если нет, должен ли я просто делать установку PHP/SQL? Я бы предпочел избежать этого, потому что мои навыки - все интерфейсы.

+0

Если я вас понимаю: https://www.youtube.com/watch?v=KzasJuhsTSs около 4:00, этот парень говорит о сохранении этой логики в бэкэнд, в то время как все передние части - это шоу или скрыть некоторые элементы на основе этих данных (что-то вроде {{#if user.canUpload}} для загрузки {{/ if}} –

+1

Я предполагаю, что одна проблема с сохранением этой логики на передней панели - пользователи могут «взломать» фронт end, так что вам по-прежнему нужен сервер для отслеживания того, что кто-то может и не может сделать. –

+1

Firebase обеспечивает аутентификацию многими популярными поставщиками OAuth и позволяет вам определять правила доступа к данным (чтение/запись). Поэтому, если вы можете изменить свои требования от «пользователи могут принимать только определенные действия/видеть определенные представления» на «пользователи могут читать или записывать определенные данные», вы прошли долгий путь. –

ответ

0
  1. Если вы только начинаете, Firebase это отличный сервис, чтобы узнать о из-за их «задний конец как сервис» модель - вы будете тратить больше времени на строительство/моделирование данных и меньше времени запуск/установки. Не то, чтобы вы не хотели больше узнать об этом позже, но это позволяет вам сосредоточиться на одной части за раз.
  2. С точки зрения доступа, JS/NoSQL против PHP/MySQL не будет проблемой. У каждого из них есть свои собственные требования безопасности - это больше того, что PHP/MySQL имеет больше времени для установления этих правил. Кроме того, Firebase, являющаяся размещенной службой, имеет собственный набор требований.
  3. Правила безопасности Firebase немного странны, когда вы сначала смотрите на них, но они начинают иметь смысл после того, как вы немного посидите с ними. Документация Firebase на самом деле является довольно большим ресурсом. https://www.firebase.com/docs/security/
  4. В принципе, если вы используете провайдера входа Firebase, он заставляет Firebase действовать как база данных и диспетчер аутентификации, а комбо помогает поддерживать «ограждение» пользователей там, где вы хотите. Вы можете использовать данные из других путей, переменных, правил проверки и т. Д. Вы даже можете сделать «пользовательский логин», если вам нужно интегрироваться с существующим.
  5. Наконец, на стороне клиента ваше мнение может реагировать на то, что возвращается Firebase - если пользователь «взломает» свой путь до страницы, он не должен находиться на стороне клиента, данные не возвращаются в любом случае и никакая предоставленная информация будет разрешено из-за правил.
Смежные вопросы