Рассмотрим случай, когда есть 2 разных пользователя «Администратор» (самые высокие привилегии) и «Клиент (меньше привилегий по сравнению с администратором)». В Struts вы можете реализовать так:
1.Сделайте бизнес-логику как User
класс, который в основном выполняет следующие задачи
a.)Gets the username,password as input.
b.)Checks whether this 'username' exists in database.
c.)If exits, gets the type of user(either Admin or Customer) and checking
its corresponding password.
2.Используйте этот объект «Пользователь» из класса «Действие». Итак, вы передаете значения «ActionForm» (имя пользователя, пароль) в этот бизнес-метод, проверяете пользователя и получаете определенный тип пользователя (Хранение в сеансе) .
3. При последующих запросах, сделанных этим «Пользователем», проверьте тип пользователя и отправьте его соответствующим образом. Создайте пользовательский класс «Действие», который всегда проверяет тип пользователя (и другие проверки) для каждого действия, полученного от типа пользователя. Все остальные ваши классы 'Action' должны расширять этот пользовательский класс 'Action'.
Так я реализовал в одном из моих веб-приложений Struts, где более 3 типов пользователей с разными правами. Я никогда не видел отдельного шаблона URL для каждого типа пользователя. Так что лучше показать,
http://www.yoursite.com/Process.action
вместо http://www.yoursite.com/adminapp/Process.action