Использование SAP Композиционная среда набор API, в частности API безопасности
Пространство имен com.sap.security.api
содержит IUserAccountFactory
фабрика имеет метод getUserAccount (s), который возвращает IUserAccount объект (массив объектов).Он имеет метод getRoles , который идеально соответствует вашим потребностям.
Вместе с методом addToRole вы можете реализовать экспорт / импорт ролей.
Вы можете попытаться сериализовать роли конкретного пользователя в следующем примере:
import java.io.*;
import com.sap.security.api.IUser;
import com.sap.security.api.UMFactory;
// getting current user
try {
IUser user = UMFactory.getAuthenticator().getLoggedInUser();
if (user == null) { throw new SecurityException("User is invalid"); }
// getting user roles
Iterator<String> roles = loggedInUser.getRoles(true);
// serializing roles
while (roles.hasNext()) {
String roleId = roles.next();
IRole role = UMFactory.getRoleFactory().getRole(roleId);
FileOutputStream file = new FileOutputStream(filename);
ObjectOutputStream out = new ObjectOutputStream(file);
out.writeObject(role);
out.close();
file.close();
}
} catch (Exception e) {
logger.logError("[getAssignedRole] Error " + e.getMessage());
}