Фильтрация элементов повторителя на основе статуса пользователя / роли - PullRequest
0 голосов
/ 09 декабря 2010

У меня есть сложное требование, когда мне нужно классифицировать документы, прикрепленные к продукту, доступные для загрузки, в зависимости от статуса пользователя, просматривающего продукт. То есть Мой сайт отображает список продуктов, при нажатии на одну из которых отображается страница сведений о продукте, и эта страница содержит список документов, связанных с продуктом, таких как листы данных, руководства пользователя и т. д.

Меня попросили сгруппировать документы по трем классам доступности, v.i.z. те, которые доступны бесплатно для всех пользователей, в том числе анонимных; те, которые доступны для зарегистрированных пользователей; и те, которые доступны анонимным пользователям, которые предоставляют контактную информацию перед загрузкой документа, по-видимому, чтобы увеличить продажи.

Доступ к анонимным и зарегистрированным доступам довольно прост, но третий кажется мне немного сложным. Мой первый вопрос: есть ли способ фильтровать документы только для зарегистрированных пользователей, не подключая ItemDataBound или что-то в этом роде, и второй вопрос: что рекомендуется для случая, когда пользователь должен предоставить контактную информацию для загрузки документа?

Во втором вопросе мне пришло в голову фактически зарегистрировать пользователя, но без необходимости посещать страницу регистрации нового пользователя, а затем у меня есть фильтрация документов на основе ролей. В настоящее время процесс регистрации нового пользователя автоматически добавляет роль участника всем новым пользователям. Пользователи, которых я регистрирую «спокойно», просто для того, чтобы они могли загрузить документ, не будут назначены на роль «Участник», в отличие от обычных участников, вошедших в систему. Какие еще подходы я могу использовать?

1 Ответ

0 голосов
/ 09 декабря 2010

Большая часть этой реализации будет зависеть от того, что именно вы хотите выполнить, и от того, как вы собираетесь это делать.

Например, если у меня нет доступа к документу, должен ли я увидеть ссылку?

Если ваша реализация заключается в том, что все пользователи должны иметь возможность ее видеть, но фактический акт «получения» зависит от отдельной роли или членства, вы можете решить ее довольно легко, внедрив «обработчик ", чтобы загрузить защищенные документы, таким образом, вы не представляете прямую ссылку на файл.Затем этот обработчик может проверить безопасность, если они не были разрешены, затем он может перенести их на страницу входа или регистрации по мере необходимости.

Если пользователи не видят документы, пока они не удовлетворяют требованию, я бызатем отфильтруйте ПРЕЖДЕ, ЧЕМ вы связываетесь со своим ретранслятором.

...