@ Маркос Майя прав. Вы не переключаете пользователей в Seam для выполнения определенных операций. Вы используете RunAsOperation
, чтобы временно разрешить более высокие привилегии с ролями. Есть даже способ обойти любые ограничения безопасности, запустив операции от имени системного пользователя:
new RunAsOperation(true) {
public void execute() {
// operations as system user
}
}.run();
(обратите внимание на значение true
в конструкторе).
Так что, если вам нужно выполнить какие-либо операции от имени другого пользователя, вам определенно следует использовать RunAsOperation
, как предложено @Marcos Maia.