добавление нескольких сессий в одну (для разрешения) - PullRequest
0 голосов
/ 11 мая 2018

это мой код, и я установил разрешения, поэтому, если идентификатор пользователя равен 132, он / она увидит button1 и т. Д. Проблема заключается в том, что у меня есть несколько таких разрешений на всей веб-странице (для других функций), и если я нужно добавить кого-то, я должен изменить его в 5/6 местах, а не в одном. Могу ли я объединить все сессии в одну мастер-сессию? Также я не хочу создавать таблицу в БД

    else if (Session["UserId"].Equals("132") || (Session["UserId"].Equals("210"))
                || (Session["UserId"].Equals("41")) || (Session["UserId"].Equals("103"))
                || (Session["UserId"].Equals("404")) || (Session["UserId"].Equals("130"))
                || (Session["UserId"].Equals("92")) || (Session["UserId"].Equals("490"))
                || (Session["UserId"].Equals("172")))
            {
//do something
}

1 Ответ

0 голосов
/ 11 мая 2018

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

Это действительно слишком просто, чтобы проверить, разрешено ли пользователю видеть кнопку или нет.

Вы также можете создать список с идентификаторами пользователей и проверить, является ли текущий вошедший в систему пользователь.в списке, затем покажите кнопку.

Измените причину комментария, чтобы указать код:

var allowedUserIds = new List<int> {1,2,3,4,5};
var currentUserId = Session["UserId"];
bool isInList = allowedUserIds.IndexOf(currentUserId) != -1;

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