use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.
the class InMemoryConstraintTest method testLoadingLastPage.
@Test
public void testLoadingLastPage() throws LoginException {
LoginWorker lw = AppBeans.get(LoginWorker.NAME);
UserSession userSession = lw.login("constraintUser3", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
assertNotNull(userSession);
UserSessionSource uss = AppBeans.get(UserSessionSource.class);
UserSession savedUserSession = uss.getUserSession();
((TestUserSessionSource) uss).setUserSession(userSession);
try {
DataManager dataManager = AppBeans.get(DataManager.NAME);
dataManager = dataManager.secure();
LoadContext loadContext = new LoadContext(User.class).setView(View.LOCAL);
loadContext.setQuery(new LoadContext.Query("select u from sec$User u where (u.login like 'user%' or u.login like 'constraintUser%') order by u.login desc"));
loadContext.getQuery().setMaxResults(30);
loadContext.getQuery().setFirstResult(30);
List<User> resultList = dataManager.loadList(loadContext);
assertEquals(8, resultList.size());
assertEquals("user133", resultList.get(0).getLogin());
assertEquals("user132", resultList.get(1).getLogin());
assertEquals("user131", resultList.get(2).getLogin());
} finally {
((TestUserSessionSource) uss).setUserSession(savedUserSession);
}
}
use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.
the class ParentClassConstraintTest method testConstraintsOnParentAndCurrentMetaClass.
@Test
public void testConstraintsOnParentAndCurrentMetaClass() throws LoginException {
DataManager dataManager = AppBeans.get(DataManager.NAME);
LoadContext<SearchFolder> loadContext = new LoadContext<>(SearchFolder.class).setView(View.LOCAL);
loadContext.setQueryString("select f from sec$SearchFolder f");
List resultList = dataManager.loadList(loadContext);
assertEquals(2, resultList.size());
LoginWorker lw = AppBeans.get(LoginWorker.NAME);
UserSession userSession = lw.login("constraintUser2", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
assertNotNull(userSession);
UserSessionSource uss = AppBeans.get(UserSessionSource.class);
UserSession savedUserSession = uss.getUserSession();
((TestUserSessionSource) uss).setUserSession(userSession);
try {
dataManager = AppBeans.get(DataManager.NAME);
dataManager = dataManager.secure();
loadContext = new LoadContext<>(SearchFolder.class).setView(View.LOCAL);
loadContext.setQueryString("select f from sec$SearchFolder f");
resultList = dataManager.loadList(loadContext);
assertEquals(0, resultList.size());
} finally {
((TestUserSessionSource) uss).setUserSession(savedUserSession);
}
}
use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.
the class ParentClassConstraintTest method testConstraintsOnMappedSuperClass.
@Test
public void testConstraintsOnMappedSuperClass() throws LoginException {
DataManager dataManager = AppBeans.get(DataManager.NAME);
LoadContext<SearchFolder> loadContext = new LoadContext<>(SearchFolder.class).setView(View.LOCAL);
loadContext.setQueryString("select f from sec$SearchFolder f");
List resultList = dataManager.loadList(loadContext);
assertEquals(2, resultList.size());
LoginWorker lw = AppBeans.get(LoginWorker.NAME);
UserSession userSession = lw.login("constraintUser3", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
assertNotNull(userSession);
UserSessionSource uss = AppBeans.get(UserSessionSource.class);
UserSession savedUserSession = uss.getUserSession();
((TestUserSessionSource) uss).setUserSession(userSession);
try {
dataManager = AppBeans.get(DataManager.NAME);
dataManager = dataManager.secure();
loadContext = new LoadContext<>(SearchFolder.class).setView(View.LOCAL);
loadContext.setQueryString("select f from sec$SearchFolder f");
resultList = dataManager.loadList(loadContext);
assertEquals(0, resultList.size());
} finally {
((TestUserSessionSource) uss).setUserSession(savedUserSession);
}
}
use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.
the class ParentClassConstraintTest method testConstraintsOnParentClass.
@Test
public void testConstraintsOnParentClass() throws LoginException {
DataManager dataManager = AppBeans.get(DataManager.NAME);
LoadContext<SearchFolder> loadContext = new LoadContext<>(SearchFolder.class).setView(View.LOCAL);
loadContext.setQueryString("select f from sec$SearchFolder f");
List resultList = dataManager.loadList(loadContext);
assertEquals(2, resultList.size());
LoginWorker lw = AppBeans.get(LoginWorker.NAME);
UserSession userSession = lw.login("constraintUser1", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
assertNotNull(userSession);
UserSessionSource uss = AppBeans.get(UserSessionSource.class);
UserSession savedUserSession = uss.getUserSession();
((TestUserSessionSource) uss).setUserSession(userSession);
try {
dataManager = AppBeans.get(DataManager.NAME);
dataManager = dataManager.secure();
loadContext = new LoadContext<>(SearchFolder.class).setView(View.LOCAL);
loadContext.setQueryString("select f from sec$SearchFolder f");
resultList = dataManager.loadList(loadContext);
assertEquals(1, resultList.size());
} finally {
((TestUserSessionSource) uss).setUserSession(savedUserSession);
}
}
use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.
the class ConstraintTest method test.
@Test
public void test() throws LoginException {
LoginWorker lw = AppBeans.get(LoginWorker.NAME);
UserSession userSession = lw.login(USER_LOGIN, passwordEncryption.getPlainHash(USER_PASSW), Locale.getDefault());
assertNotNull(userSession);
List<ConstraintData> constraints = userSession.getConstraints("sys$Server");
assertEquals(2, constraints.size());
List<ConstraintData> roleConstraints = userSession.getConstraints("sec$UserRole");
assertEquals(1, roleConstraints.size());
UserSessionSource uss = AppBeans.get(UserSessionSource.class);
UserSession savedUserSession = uss.getUserSession();
((TestUserSessionSource) uss).setUserSession(userSession);
try {
DataManager dm = AppBeans.get(DataManager.NAME);
LoadContext loadContext = new LoadContext(Server.class).setQuery(new LoadContext.Query("select s from sys$Server s"));
List<Server> list = dm.loadList(loadContext);
for (Server server : list) {
if (server.getId().equals(serverId))
fail("Constraints have not taken effect for some reason");
}
// test constraint that contains session parameter
loadContext = new LoadContext(UserRole.class).setQuery(new LoadContext.Query("select ur from sec$UserRole ur"));
List<UserRole> userRoles = dm.loadList(loadContext);
if (!userRoles.isEmpty()) {
fail("Constraint with session attribute failed");
}
} finally {
((TestUserSessionSource) uss).setUserSession(savedUserSession);
}
}
Aggregations