Snippets

Jeff Turner user.jsp - JIRA user account switcher for JIRA 7+

Created by Jeff Turner last modified Jeff Turner (Red Radish Consulting)
<%@ taglib uri="webwork" prefix="ww" %>
<%@ page import="com.atlassian.jira.ComponentManager" %>
<%@ page import="com.atlassian.jira.security.JiraAuthenticationContext" %>
<%@ page import="com.atlassian.seraph.auth.DefaultAuthenticator" %>
<%@ page import="com.atlassian.jira.user.util.UserManager" %>
<%@ page import="com.atlassian.jira.component.ComponentAccessor" %>
<%
if ("AOoTEuOD0v".equals(request.getHeader("X-JIRA-Userswitcher"))) {
        final JiraAuthenticationContext jiraAuthenticationContext = ComponentManager.getComponentInstanceOfType(JiraAuthenticationContext.class);
        com.atlassian.jira.user.ApplicationUser user = jiraAuthenticationContext.getLoggedInUser();
        UserManager userManager = ComponentAccessor.getUserManager();
        String newUsername = request.getParameter("user");
        Object newUser = userManager.getUser(newUsername);
        if (newUser != null) {
               //session.setAttribute(DefaultAuthenticator.LOGGED_IN_KEY, newUser );
               session.setAttribute(DefaultAuthenticator.LOGGED_IN_KEY, newUser );
               String lastPage = request.getParameter("lastPage");
               if (lastPage != null) response.sendRedirect(lastPage);
               else out.println("User switched to "+newUser+". Hint: add a lastPage parameter to redirect from here");
        } else {
                out.println("No such user: "+newUsername);
        }
} else {
        out.println("Not authorized - ask Jeff for details");
}
%>

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.