Различные пользовательские ограничения в одном сеансе - PullRequest
2 голосов
/ 05 марта 2011

Мы разрабатываем веб-сайт, и мы столкнулись с этой проблемой: для этого веб-сайта существует 2 типа пользователей: клиент и администратор.Администратор может видеть все продукты (например, продукты с истекшим сроком действия), в то время как клиент может видеть только подмножество.

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

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

Кто-нибудь когда-либо сталкивался с такой ситуацией раньше, и есть ли какое-то чистое решение?Базовая технология - это пользовательский сервер, основанный на Tomcat 6.0.29.Мы разрабатываем с использованием Java.

Спасибо :) Krt_Malta

Ответы [ 2 ]

3 голосов
/ 05 марта 2011

@ Krt_Malta: Если вы используете Spring Security, вам не нужно, чтобы администратор выходил из системы, а затем снова входил как пользователь.Для этого вам нужно настроить SwitchUserFilter ... он позволяет пользователю переключаться с одной роли на другую без необходимости выхода, что вам и нужно.

0 голосов
/ 05 марта 2011

Я довольно новичок в веб-разработке, но разве у вас не может быть поля в таблице MySQL с именем «type», где пользователь является «клиентом» или «администратором»? Когда кто-то входит в систему, система может проверить его тип пользователя и, если это «клиент», система может показать мнение клиента и, если это «админ», представление администратора.

В этом случае вы также можете иметь другое поле в таблице, которое применяется только к пользователям типа «администратор», которое в основном говорит, просматривает ли администратор режим администратора или режим клиента. Кнопка на каждой странице в представлении «admin» может переключаться между «admin» и «customer» для этого нового поля, и это может решить, какое представление отображается.

Это то, что вы ищете?

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