diff options
author | James Moger <james.moger@gitblit.com> | 2014-03-14 12:10:25 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-04-10 18:58:08 -0400 |
commit | 44e2ee1d05a9d455ae60dd64058b31f006d551b7 (patch) | |
tree | e2ebf0e3602d4ffac049295f723f51b43e378efa /src/main/java/com/gitblit/git | |
parent | 39ffede55f79395d6d1298f24ce201dbae262a32 (diff) | |
download | gitblit-44e2ee1d05a9d455ae60dd64058b31f006d551b7.tar.gz gitblit-44e2ee1d05a9d455ae60dd64058b31f006d551b7.zip |
Revise SSH public key integration with AuthenticationManager
Diffstat (limited to 'src/main/java/com/gitblit/git')
-rw-r--r-- | src/main/java/com/gitblit/git/GitblitUploadPackFactory.java | 18 | ||||
-rw-r--r-- | src/main/java/com/gitblit/git/RepositoryResolver.java | 6 |
2 files changed, 3 insertions, 21 deletions
diff --git a/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java b/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java index a72d4ad9..7a476775 100644 --- a/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java +++ b/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java @@ -26,7 +26,6 @@ import org.eclipse.jgit.transport.resolver.UploadPackFactory; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.models.UserModel; import com.gitblit.transport.git.GitDaemonClient; -import com.gitblit.transport.ssh.SshSession; /** * The upload pack factory creates an upload pack which controls what refs are @@ -48,28 +47,13 @@ public class GitblitUploadPackFactory<X> implements UploadPackFactory<X> { public UploadPack create(X req, Repository db) throws ServiceNotEnabledException, ServiceNotAuthorizedException { - UserModel user = UserModel.ANONYMOUS; int timeout = 0; - if (req instanceof HttpServletRequest) { - // http/https request may or may not be authenticated - HttpServletRequest client = (HttpServletRequest) req; - user = authenticationManager.authenticate(client); - if (user == null) { - user = UserModel.ANONYMOUS; - } - } else if (req instanceof GitDaemonClient) { + if (req instanceof GitDaemonClient) { // git daemon request is always anonymous GitDaemonClient client = (GitDaemonClient) req; // set timeout from Git daemon timeout = client.getDaemon().getTimeout(); - } else if (req instanceof SshSession) { - // SSH request is always authenticated - SshSession client = (SshSession) req; - user = authenticationManager.authenticate(client); - if (user == null) { - throw new ServiceNotAuthorizedException(); - } } UploadPack up = new UploadPack(db); diff --git a/src/main/java/com/gitblit/git/RepositoryResolver.java b/src/main/java/com/gitblit/git/RepositoryResolver.java index 08048195..ad5dcf01 100644 --- a/src/main/java/com/gitblit/git/RepositoryResolver.java +++ b/src/main/java/com/gitblit/git/RepositoryResolver.java @@ -104,11 +104,9 @@ public class RepositoryResolver<X> extends FileResolver<X> { user = UserModel.ANONYMOUS; } } else if (req instanceof SshSession) { + // ssh is always authenticated SshSession s = (SshSession) req; - user = gitblit.authenticate(s); - if (user == null) { - throw new IOException(String.format("User %s not found", s.getRemoteUser())); - } + user = gitblit.getUserModel(s.getRemoteUser()); } if (user.canClone(model)) { |