2016-07-24 7 views
0

Я сохраняю некоторые основные пользовательские данные в сеансе на моем приложении MVC Asp.net. Насколько безопасно сохранять UserGroup и доступ к нему, чтобы узнать, является ли пользователь Администратором или обычным пользователем?Сторона сеанса или сторона клиента (доступная или нет)?

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

Кроме того, я использую FormsAuthentication, если это что-то меняет.

+0

Обратите внимание, что тег модели-view-controller предназначен для вопросов о шаблоне. Существует определенный тег для реализации ASP.NET-MVC. –

+1

Извините! Я все еще не понимаю, каков ваш вопрос. Для вопроса в вашем названии данные сеанса хранятся на сервере для этого пользователя (сеанс браузера) – Shyju

+0

Да, вот что я спрашивал. Если он был сохранен на стороне клиента, возможно, есть способ его редактировать, поэтому пользователь может изменить свою информацию о пользователе. Не было бы проблем, я сохранял FirstName, LastName..etc. Но я бы хотел сохранить информацию о пользователе, если он Обычный пользователь или Администратор. Если он сможет изменить сеанс, он может установить свою UserGroup в Администратор и делать то, что ему не разрешено делать, что небезопасно. –

ответ

1

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

+0

Спасибо, вот почему я спросил, поэтому мне не нужно звонить в DB все время, когда мне нужна базовая информация. Еще раз спасибо. –

Смежные вопросы