У меня есть сложное требование, когда мне нужно классифицировать документы, прикрепленные к продукту, доступные для загрузки, в зависимости от статуса пользователя, просматривающего продукт. То есть Мой сайт отображает список продуктов, при нажатии на одну из которых отображается страница сведений о продукте, и эта страница содержит список документов, связанных с продуктом, таких как листы данных, руководства пользователя и т. д.
Меня попросили сгруппировать документы по трем классам доступности, v.i.z. те, которые доступны бесплатно для всех пользователей, в том числе анонимных; те, которые доступны для зарегистрированных пользователей; и те, которые доступны анонимным пользователям, которые предоставляют контактную информацию перед загрузкой документа, по-видимому, чтобы увеличить продажи.
Доступ к анонимным и зарегистрированным доступам довольно прост, но третий кажется мне немного сложным. Мой первый вопрос: есть ли способ фильтровать документы только для зарегистрированных пользователей, не подключая ItemDataBound или что-то в этом роде, и второй вопрос: что рекомендуется для случая, когда пользователь должен предоставить контактную информацию для загрузки документа?
Во втором вопросе мне пришло в голову фактически зарегистрировать пользователя, но без необходимости посещать страницу регистрации нового пользователя, а затем у меня есть фильтрация документов на основе ролей. В настоящее время процесс регистрации нового пользователя автоматически добавляет роль участника всем новым пользователям. Пользователи, которых я регистрирую «спокойно», просто для того, чтобы они могли загрузить документ, не будут назначены на роль «Участник», в отличие от обычных участников, вошедших в систему. Какие еще подходы я могу использовать?