@Override public void setCurrentUser(String username) { ApplicationUser user = null; if (!isNullOrEmpty(username)) { user = userUtil.getUserByName(username); } jiraAuthenticationContext.setLoggedInUser(user); }
private void preCall(final ApplicationUser runAsUser) { JiraThreadLocalUtils.preCall(); jiraAuthenticationContext.setLoggedInUser(runAsUser); }
public User setRemoteUserInJira(User user) { User oldUser = authenticationContext.getLoggedInUser(); authenticationContext.setLoggedInUser(user); return oldUser; } }
private void postCall(final Runnable command) { jiraAuthenticationContext.setLoggedInUser((ApplicationUser) null); JiraThreadLocalUtils.postCall(log, new JiraThreadLocalUtil.WarningCallback() { @Override public void onOpenTransaction() { log.error("A database connection was left open by the code : " + command.getClass().getName()); } }); }
private <T> T impersonateUser(final Supplier<T> supplier) { final ApplicationUser oldUser = authenticationContext.getUser(); authenticationContext.setLoggedInUser(getRemoteApplicationUser()); try { return supplier.get(); } finally { authenticationContext.setLoggedInUser(oldUser); } } }
private static void loginUserImpl(ApplicationUser user) { final Map session = ActionContext.getSession(); session.put(DefaultAuthenticator.LOGGED_IN_KEY, user); session.put(DefaultAuthenticator.LOGGED_OUT_KEY, null); ComponentAccessor.getComponent(JiraAuthenticationContext.class).setLoggedInUser(user); }
@POST @Consumes (MediaType.WILDCARD) @Path ("/secure") public Response addTemporaryAttachment(@QueryParam ("filename") String filename, @QueryParam ("projectId") Long projectId, @QueryParam ("issueId") Long issueId, @QueryParam ("size") Long size, @QueryParam ("secureToken") String secureToken, @QueryParam ("formToken") String formToken, @Context HttpServletRequest request) { if (secureToken == null) { return Response.status(Response.Status.BAD_REQUEST).cacheControl(never()).build(); } ApplicationUser secureUser = secureUserTokenManager.useToken(secureToken, SecureUserTokenManager.TokenType.SCREENSHOT); if (secureUser == null) { return Response.status(Response.Status.UNAUTHORIZED).cacheControl(never()).build(); } authContext.setLoggedInUser(secureUser); return addTemporaryAttachment(filename, projectId, issueId, size, formToken, request); }
private void preCallSetup() { JiraThreadLocalUtils.preCall(); ApplicationUser user = userManager.getUserByName(taskDescriptor.getUserName()); context.setLoggedInUser(user); }
@POST @Consumes (MediaType.WILDCARD) @Path ("/secure") public Response addTemporaryAttachment(@QueryParam ("filename") final String filename, @QueryParam ("projectId") final Long projectId, @QueryParam ("issueId") final Long issueId, @QueryParam ("size") final Long size, @QueryParam ("secureToken") final String secureToken, @QueryParam ("formToken") final String formToken, @Context final HttpServletRequest request) { try { if (secureToken == null) { return Response.status(Response.Status.BAD_REQUEST).cacheControl(never()).build(); } final ApplicationUser secureUser = secureUserTokenManager.useToken(secureToken, SecureUserTokenManager.TokenType.SCREENSHOT); if (secureUser == null) { return Response.status(Response.Status.UNAUTHORIZED).cacheControl(never()).build(); } authContext.setLoggedInUser(secureUser); } catch (final RuntimeException e) { quietlyCloseInputStream(request); throw e; } return addTemporaryAttachment(filename, projectId, issueId, size, formToken, request); }
private <T> Iterable<T> executeForEveryJira(final FunctionWithFallback<T> function) { final ExecutorService es = Executors.newFixedThreadPool(THREADS); final Iterable<JiraProxy> applicationLinks = jiraProxyFactory.getAllJiraProxies(); final ApplicationUser user = authenticationContext.getLoggedInUser(); final List<Callable<T>> queries = Lists.newArrayList( Iterables.transform(applicationLinks, applicationLink -> () -> WorkContextUtil.runWithNewWorkContextIfAvailable(() -> { ComponentAccessor.getJiraAuthenticationContext().setLoggedInUser(user); return function.apply(applicationLink); })) ); try { return ImmutableList.copyOf(Iterables.transform(es.invokeAll(queries), eitherFuture -> { try { return eitherFuture.get(); } catch (Exception e) { return function.onInvocationException(e); } })); } catch (Exception e) { log.warn("Threads were interrupted during Application Links request", e); return Collections.emptyList(); } finally { es.shutdown(); } }
jiraAuthenticationContext.setLoggedInUser(user); jiraAuthenticationContext.setLoggedInUser(originalUser);
@Override protected void doValidation() { try { if(secureToken != null) { jiraAuthenticationContext.setLoggedInUser(secureUserTokenManager.useToken(secureToken, SecureUserTokenManager.TokenType.SCREENSHOT)); } attachmentService.canCreateAttachments(getJiraServiceContext(), getIssueObject()); super.doValidation(); // validate comment } catch (final IssueNotFoundException ex) { // Do nothing as error is added above return; } catch (final IssuePermissionException ex) { // Do nothing as error is added above return; } }
authenticationContext.setLoggedInUser(getLoggedInUser()); try authenticationContext.setLoggedInUser(originalUser);
authenticationContext.setLoggedInUser(getLoggedInUser()); try authenticationContext.setLoggedInUser(originalUser);