Кнопки отображения на основе пользовательских ролей в ASP .NET MVC 5 - PullRequest
0 голосов
/ 07 сентября 2018

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

@if (Session["UserRole"].ToString() == "Admin")
                {
                    //show delete,modify and create buttons
                }

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

Мой вопрос - это хорошая практика для хранения ролей в сеансе, есть ли лучший подход для решения моего требования.Если я собираюсь провести сеанс в производственной среде, где будет несколько серверов, сработает ли подход сеанса?

1 Ответ

0 голосов
/ 10 сентября 2018

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

Но я думаю, что лучшим решением является создание частичного представления с этим и в методе тегом авторизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...