Разрешение пользователя / тип логики в C # MVC 5 - PullRequest
0 голосов
/ 23 февраля 2019

Я работаю над небольшим проектом, который использует MVC 5. У меня есть страница Projects / Details, которая отображает информацию о данном проекте.Каждый проект имеет несколько участников, и может быть 3 типа участников.Эти типы имеют различную информацию и функции, доступные на странице.Мое текущее временное решение является базовым, в моем представлении у меня есть оператор if, чтобы проверить тип вошедшего в систему пользователя и показать частичное представление соответственно.Для меня это решение кажется «хакерским», я уверен, что есть лучший способ.Поэтому мой вопрос: как бы вы реализовали такую ​​функциональность?

Спасибо.

1 Ответ

0 голосов
/ 23 февраля 2019

Есть три способа, которыми вы можете подойти к этому.

1) Даже если вы считаете, что предложенное вами решение «хакерское», на самом деле это неплохая идея.Я лично сделал это в проекте.Я создал частичные представления в зависимости от ролей, которые имел пользователь;однако вы бы добавили дополнительную бизнес-логику в представление.Попробуйте поэкспериментировать с ним и посмотрите, как он работает при развертывании.Это должна быть ваша первая попытка, так как на самом деле это ваша идея, и, экспериментируя, вы научитесь значительно.

2) Вы пытались проверить в контроллере роли пользователя и, в зависимости от этой роли, возвращать конкретное представление?В этом случае бизнес-логика останется в контроллере, и это считается хорошей практикой.

3) Даже если я не знаю, используете ли вы ORM (Entity Framework) или подключаетесь напрямую кбазу данных SQL, попробуйте получить роли члена с помощью хранимой процедуры и проверить его роли в классе обработчика БД.

Как вы можете видеть, существует три варианта проверки ролей участника.

Наконец, я рекомендую вам ознакомиться с авторизацией на основе утверждений / ролей.Это может помочь вам в будущих проектах:

https://www.c -sharpcorner.com / article / Asp-Net-mvc5-role-base-accessibility /

...