Browse Source

Added a logout hook to IUserService

tags/v1.0.0
James Moger 12 years ago
parent
commit
ea094a45b9

+ 9
- 0
src/com/gitblit/ConfigUserService.java View File

@@ -199,6 +199,15 @@ public class ConfigUserService implements IUserService {
return returnedUser;
}
/**
* Logout a user.
*
* @param user
*/
@Override
public void logout(UserModel user) {
}
/**
* Retrieve the user object for the specified username.
*

+ 9
- 0
src/com/gitblit/FileUserService.java View File

@@ -177,6 +177,15 @@ public class FileUserService extends FileSettings implements IUserService {
return returnedUser;
}
/**
* Logout a user.
*
* @param user
*/
@Override
public void logout(UserModel user) {
}
/**
* Retrieve the user object for the specified username.
*

+ 12
- 0
src/com/gitblit/GitBlit.java View File

@@ -481,6 +481,18 @@ public class GitBlit implements ServletContextListener {
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.

+ 5
- 0
src/com/gitblit/GitblitUserService.java View File

@@ -141,6 +141,11 @@ public class GitblitUserService implements IUserService {
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) {

+ 7
- 0
src/com/gitblit/IUserService.java View File

@@ -87,6 +87,13 @@ public interface IUserService {
*/
UserModel authenticate(String username, char[] password);
/**
* Logout a user.
*
* @param user
*/
void logout(UserModel user);
/**
* Retrieve the user object for the specified username.
*

+ 5
- 1
src/com/gitblit/wicket/pages/LogoutPage.java View File

@@ -19,13 +19,17 @@ import org.apache.wicket.markup.html.WebPage;
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());
}

Loading…
Cancel
Save