2016-03-17 5 views
0

Недавно я играл с Meteor, и одна вещь, на которую я не могу окутать голову, - это как публиковать шаблоны на основе определенного условия, прежде чем они будут отправлены на клиентскую сторону , Пример:Отправить шаблон Meteor клиенту по условию

<head> 
    <title>Some partially authenticating app</title> 
</head> 
<body> 
    {{> unauthorisedContent}} 
    {{> authorisedContent}} 
</body> 

То, что я хочу сделать, это отправить {{> authorisedContent}} шаблон, если и только если клиент вошел в систему, и не отправить его, то условно, а затем исключить его на основе if (!!Meteor.user()) на стороне клиента. Как это можно достичь? Возможно ли также использование React JS для Meteor вместо Blaze?

ответ

1

В настоящее время это невозможно в рамках одного и того же приложения Meteor. Ваши два варианта решения этой проблемы:

  1. У вас есть отдельное приложение для авторизованного контента и несанкционированного доступа.
  2. Убедитесь, что вы не публикуете данные неавторизованным пользователям, которые выясняют, как получить шаблон авторизованного контента.

Большинство людей идут с опцией №2.

+0

Отличный ответ - если вы знаете, не могли бы вы уточнить, можно ли проходить шаблоны с использованием DDP в качестве протокола, связывающего микросервисы? Идея заключается в том, что я «каскадирую» шаблоны от наименьшего до самого аутентифицированного. Я не уверен, что это хорошая идея из-за латентности между каждым соединением (если они не работают параллельно) - предлагайте ресурсы, если я задаю очевидное о DDP-связях (noob alert!) –