Ваш код будет более безопасным, если вы начнете со всего невидимого / отключенного и сделаете его видимым / включенным, чем если бы вы начали с широко открытого доступа и скрывали вещи. Если вы забудете спрятать что-то новое, вдруг клиенты увидят новое поле, к которому они не должны прикасаться. Если вы забыли добавить код для отображения нового поля на основе разрешений, вам все равно придется его исправить, но гораздо труднее или невозможно использовать поле, которое не существует.

ужно создавать разные просмотры страниц для разных типов пользователей. Я уже спросил это здесь:Как создавать страницы с разными разрешениями просмотров

И хотя ответ Алдила работает, он не кажется мне лучшим решением. Я объясню почему.

Я постараюсь объяснить, что мне нужно, очень подробно, и, надеюсь, некоторые из вас смогут мне помочь: D

Мне нужно показать разные взгляды, но это не только так. Каждый пользователь может иметь доступ к различным частям страницы.

Я приведу пример:

Представьте себе страницу «Х» с этой структурой

Field A
Field B
Field C
Field D

Когда пользовательU1 из группыG1 посетить страницуX система проверяет БД на разрешение этой группы на страницеX, пользовательU1 можно увидетьField A а такжеField B, но только редактироватьField A.

пользовательU2 страница не имеет посещений группыX, Система проверяет его разрешения на страницеX, пользовательU2 можете видеть и редактировать все поля.

Когда пользовательU3 из группыG2 посетить страницуX система проверяет БД на разрешение этой группы на страницеX, пользовательU3 можно увидетьField C а такжеField D, но не может редактировать.

Я надеюсь, что это легко понять ...

Я не нашел способа сделать это вместо заполнения ViewData большим количеством данных о разрешении этого конкретного пользователя. В моем примере есть только 4 поля, но в моем текущем проекте у меня нет экрана с менее чем 20 полями. Так что, я думаю, вы видите, насколько это уродливо и не продуктивно.

Идея похожа на социальную сеть, как я уже сказал (пример на фейсбуке). Когда пользователь, посещающий страницу UserX, может видеть только то, что ему разрешил UserX.

Я действительно ценю любую помощь.

С уважением.

Ответы на вопрос(2)

Ваш ответ на вопрос