James Moger
2012-04-25 ea094a45b9a31076919ca23ba17e8ad27e90ebce
Added a logout hook to IUserService
6 files modified
48 ■■■■■ changed files
src/com/gitblit/ConfigUserService.java 9 ●●●●● patch | view | raw | blame | history
src/com/gitblit/FileUserService.java 9 ●●●●● patch | view | raw | blame | history
src/com/gitblit/GitBlit.java 12 ●●●●● patch | view | raw | blame | history
src/com/gitblit/GitblitUserService.java 5 ●●●●● patch | view | raw | blame | history
src/com/gitblit/IUserService.java 7 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/LogoutPage.java 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/ConfigUserService.java
@@ -200,6 +200,15 @@
    }
    /**
     * Logout a user.
     *
     * @param user
     */
    @Override
    public void logout(UserModel user) {
    }
    /**
     * Retrieve the user object for the specified username.
     * 
     * @param username
src/com/gitblit/FileUserService.java
@@ -178,6 +178,15 @@
    }
    /**
     * Logout a user.
     *
     * @param user
     */
    @Override
    public void logout(UserModel user) {
    }
    /**
     * Retrieve the user object for the specified username.
     * 
     * @param username
src/com/gitblit/GitBlit.java
@@ -481,6 +481,18 @@
            response.addCookie(userCookie);
        }
    }
    /**
     * Logout a user.
     *
     * @param user
     */
    public void logout(UserModel user) {
        if (userService == null) {
            return;
        }
        userService.logout(user);
    }
    /**
     * Returns the list of all users available to the login service.
src/com/gitblit/GitblitUserService.java
@@ -141,6 +141,11 @@
    public UserModel authenticate(String username, char[] password) {
        return serviceImpl.authenticate(username, password);
    }
    @Override
    public void logout(UserModel user) {
        serviceImpl.logout(user);
    }
    @Override
    public UserModel getUserModel(String username) {
src/com/gitblit/IUserService.java
@@ -88,6 +88,13 @@
    UserModel authenticate(String username, char[] password);
    /**
     * Logout a user.
     *
     * @param user
     */
    void logout(UserModel user);
    /**
     * Retrieve the user object for the specified username.
     * 
     * @param username
src/com/gitblit/wicket/pages/LogoutPage.java
@@ -19,13 +19,17 @@
import org.apache.wicket.protocol.http.WebResponse;
import com.gitblit.GitBlit;
import com.gitblit.models.UserModel;
import com.gitblit.wicket.GitBlitWebSession;
public class LogoutPage extends WebPage {
    public LogoutPage() {
        GitBlitWebSession.get().invalidate();
        GitBlitWebSession session = GitBlitWebSession.get();
        UserModel user = session.getUser();
        GitBlit.self().setCookie((WebResponse) getResponse(), null);
        GitBlit.self().logout(user);
        session.invalidate();
        setRedirect(true);
        setResponsePage(getApplication().getHomePage());
    }