/** * Creates a JAXB user from a regular user object with an additional set of roles. * * @param user * the user * @return the JAXB user */ public static JaxbUser fromUser(User user, Collection<? extends Role> extraRoles) { Set<JaxbRole> roles = new HashSet<JaxbRole>(); for (Role role : user.getRoles()) { roles.add(JaxbRole.fromRole(role)); } for (Role role : extraRoles) { roles.add(JaxbRole.fromRole(role)); } JaxbUser jaxbUser = new JaxbUser(user.getUsername(), user.getPassword(), user.getName(), user.getEmail(), user.getProvider(), user.canLogin(), JaxbOrganization.fromOrganization(user.getOrganization()), roles); jaxbUser.setManageable(user.isManageable()); return jaxbUser; }
/** * Check if the current user has access to the capture agent with the given id. * @param agentId * The agent id to check. * @throws UnauthorizedException * If the user doesn't have access. */ public static void checkAgentAccess(final SecurityService securityService, final String agentId) throws UnauthorizedException { if (isBlank(agentId)) { return; } final User user = securityService.getUser(); if (user.hasRole(SecurityConstants.GLOBAL_ADMIN_ROLE) || user.hasRole(user.getOrganization().getAdminRole())) { return; } if (!user.hasRole(SecurityUtil.getCaptureAgentRole(agentId))) { throw new UnauthorizedException(user, "schedule"); } }
/** * {@inheritDoc} * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (!(obj instanceof User)) return false; User other = (User) obj; return userName.equals(other.getUsername()) && organization.equals(other.getOrganization()); }
/** * {@inheritDoc} * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (!(obj instanceof User)) return false; User other = (User) obj; return username.equals(other.getUsername()) && organization.equals(other.getOrganization()) && EqualsUtil.eq(provider, other.getProvider()); }
private int getTotal() { EntityManager em = null; try { em = emf.createEntityManager(); Query q = em.createNamedQuery("findTotal"); q.setParameter("userId", securityService.getUser().getUsername()); return ((Long) q.getSingleResult()).intValue(); } finally { if (em != null) em.close(); } }
protected boolean isUserAllowed(File aclFile) throws SAXException, IOException, XPathExpressionException { Document aclDoc = builder.parse(aclFile); XPath xPath = XPathFactory.newInstance().newXPath(); NodeList roles = (NodeList) xPath.evaluate("//*[local-name() = 'role']", aclDoc, XPathConstants.NODESET); for (int i = 0; i < roles.getLength(); i++) { Node role = roles.item(i); for (Role userRole : securityService.getUser().getRoles()) { if (userRole.getName().equals(role.getTextContent())) { return true; } } } return false; }
public SecurityContext(SecurityService sec, Organization org, User user) { if (ne(org, user.getOrganization())) { throw new IllegalArgumentException("User is not a member of organization " + org.getId()); } this.sec = sec; this.user = user; this.org = org; }
private int getTotal(String type, String mediapackageId, EntityManager em) { Query q = em.createNamedQuery("findTotalByTypeAndMediapackageId"); q.setParameter("userId", securityService.getUser().getUsername()); q.setParameter("type", type); q.setParameter("mediapackageId", mediapackageId); return ((Long) q.getSingleResult()).intValue(); }
@Override public List<Role> getRolesForUser(String userName) { List<Role> roles = new LinkedList<Role>(); // Don't answer for admin, anonymous or empty user if ("admin".equals(userName) || "".equals(userName) || "anonymous".equals(userName)) { logger.debug("we don't answer for: " + userName); return roles; } logger.debug("getRolesForUser(" + userName + ")"); User user = loadUser(userName); if (user != null) { logger.debug("Returning cached roleset for {}", userName); return new ArrayList<Role>(user.getRoles()); } // Not found logger.debug("Return empty roleset for {} - not found on Sakai"); return new LinkedList<Role>(); }
if (!originalUser.hasRole(GLOBAL_ADMIN_ROLE)) { logger.warn("An unauthorized request is trying to switch from organization '{}' to '{}'", originalOrganization.getId(), organizationHeader); if (!originalUser.hasRole(GLOBAL_SUDO_ROLE)) { logger.warn("An unauthorized request is trying to switch from user '{}' to '{}'", originalUser.getUsername(), userHeader); ((HttpServletResponse) response).sendError(HttpServletResponse.SC_FORBIDDEN); logger.trace("Request user is switched to '{}'", requestedUser.getUsername()); } else { requestedUser = userDirectory.loadUser(userHeader); if (!originalUser.hasRole(GLOBAL_ADMIN_ROLE)) { if (requestedUser.hasRole(systemRole)) { logger.warn("An unauthorized request is trying to switch to an admin user, from '{}' to '{}'", originalUser.getUsername(), userHeader); ((HttpServletResponse) response).sendError(HttpServletResponse.SC_FORBIDDEN); return; if (!originalUser.hasRole(organizationAdminRole) && requestedUser.hasRole(organizationAdminRole)) { logger.warn("An unauthorized request is trying to switch to an admin user, from '{}' to '{}'", originalUser.getUsername(), userHeader); ((HttpServletResponse) response).sendError(HttpServletResponse.SC_FORBIDDEN); return; logger.trace("Switching from user '{}' to user '{}' from request header '{}'", originalUser.getUsername(), requestedUser.getUsername(), USER_HEADER);
private int getTotal(String type, Calendar calBegin, Calendar calEnd, EntityManager em) { Query q = em.createNamedQuery("findTotalByTypeAndIntervall"); q.setParameter("userId", securityService.getUser().getUsername()); q.setParameter("type", type); q.setParameter("begin", calBegin, TemporalType.TIMESTAMP); q.setParameter("end", calEnd, TemporalType.TIMESTAMP); return ((Long) q.getSingleResult()).intValue(); }
/** * {@inheritDoc} * * @see org.opencastproject.security.api.RoleProvider#getRolesForUser(java.lang.String) */ @Override public List<Role> getRolesForUser(String username) { List<Role> roles = new LinkedList<>(); // Don't answer for admin, anonymous or empty user if ("admin".equals(username) || "".equals(username) || "anonymous".equals(username)) { logger.debug("we don't answer for: {}", username); return roles; } User user = loadUser(username); if (user != null) { logger.debug("Returning cached role set for {}", username); return new ArrayList<>(user.getRoles()); } // Not found logger.debug("Return empty role set for {} - not found in Moodle", username); return new LinkedList<>(); }
private int getTotalByMediapackageID(String mediapackageId, EntityManager em) { Query q = em.createNamedQuery("findTotalByMediapackageId"); q.setParameter("userId", securityService.getUser().getUsername()); q.setParameter("mediapackageId", mediapackageId); return ((Long) q.getSingleResult()).intValue(); }
for (Role role : currentUser.getRoles()) { if (welcomePages.containsKey(role.getName())) { response.sendRedirect(welcomePages.get(role.getName()));
private int getTotal(String type, EntityManager em) { Query q = em.createNamedQuery("findTotalByType"); q.setParameter("userId", securityService.getUser().getUsername()); q.setParameter("type", type); return ((Long) q.getSingleResult()).intValue(); }
private int getTotal(Calendar calBegin, Calendar calEnd, EntityManager em) { Query q = em.createNamedQuery("findTotalByIntervall"); q.setParameter("userId", securityService.getUser().getUsername()); q.setParameter("begin", calBegin, TemporalType.TIMESTAMP); q.setParameter("end", calEnd, TemporalType.TIMESTAMP); return ((Long) q.getSingleResult()).intValue(); } }
public Annotation addAnnotation(Annotation a) { // set the User ID on the annotation a.setUserId(securityService.getUser().getUsername()); EntityManager em = null; EntityTransaction tx = null; try { em = emf.createEntityManager(); tx = em.getTransaction(); tx.begin(); em.persist(a); tx.commit(); return a; } finally { if (tx.isActive()) { tx.rollback(); } if (em != null) em.close(); } }
q.setParameter("userId", securityService.getUser().getUsername()); q.setParameter("begin", calBegin, TemporalType.TIMESTAMP); q.setParameter("end", calEnd, TemporalType.TIMESTAMP);
q.setParameter("userId", securityService.getUser().getUsername()); q.setParameter("type", type); q.setParameter("begin", calBegin, TemporalType.TIMESTAMP);