| | |
| | | |
| | | import java.nio.charset.Charset; |
| | | import java.security.Principal; |
| | | import java.security.PublicKey; |
| | | import java.text.MessageFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | |
| | | import com.gitblit.auth.WindowsAuthProvider; |
| | | import com.gitblit.models.TeamModel; |
| | | import com.gitblit.models.UserModel; |
| | | import com.gitblit.transport.ssh.SshKey; |
| | | import com.gitblit.utils.Base64; |
| | | import com.gitblit.utils.HttpUtils; |
| | | import com.gitblit.utils.StringUtils; |
| | |
| | | } |
| | | return this; |
| | | } |
| | | |
| | | |
| | | public void addAuthenticationProvider(AuthenticationProvider prov) { |
| | | authenticationProviders.add(prov); |
| | | } |
| | |
| | | * @return a user object or null |
| | | */ |
| | | @Override |
| | | public UserModel authenticate(String username, PublicKey key) { |
| | | public UserModel authenticate(String username, SshKey key) { |
| | | if (username != null) { |
| | | if (!StringUtils.isEmpty(username)) { |
| | | UserModel user = userManager.getUserModel(username); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | // could not authenticate locally or with a provider |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Returns a UserModel if local authentication succeeds. |
| | | * |
| | | * |
| | | * @param user |
| | | * @param password |
| | | * @return a UserModel if local authentication succeeds, null otherwise |
| | |
| | | * @param user |
| | | */ |
| | | @Override |
| | | @Deprecated |
| | | public void setCookie(HttpServletResponse response, UserModel user) { |
| | | setCookie(null, response, user); |
| | | } |
| | | |
| | | /** |
| | | * Sets a cookie for the specified user. |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @param user |
| | | */ |
| | | @Override |
| | | public void setCookie(HttpServletRequest request, HttpServletResponse response, UserModel user) { |
| | | if (settings.getBoolean(Keys.web.allowCookieAuthentication, true)) { |
| | | GitBlitWebSession session = GitBlitWebSession.get(); |
| | | boolean standardLogin = session.authenticationType.isStandard(); |
| | |
| | | userCookie.setMaxAge((int) TimeUnit.DAYS.toSeconds(7)); |
| | | } |
| | | } |
| | | userCookie.setPath("/"); |
| | | String path = "/"; |
| | | if (request != null) { |
| | | if (!StringUtils.isEmpty(request.getContextPath())) { |
| | | path = request.getContextPath(); |
| | | } |
| | | } |
| | | userCookie.setPath(path); |
| | | response.addCookie(userCookie); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * Logout a user. |
| | | * |
| | | * @param response |
| | | * @param user |
| | | */ |
| | | @Override |
| | | @Deprecated |
| | | public void logout(HttpServletResponse response, UserModel user) { |
| | | setCookie(response, null); |
| | | setCookie(null, response, null); |
| | | } |
| | | |
| | | /** |
| | | * Logout a user. |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @param user |
| | | */ |
| | | @Override |
| | | public void logout(HttpServletRequest request, HttpServletResponse response, UserModel user) { |
| | | setCookie(request, response, null); |
| | | } |
| | | |
| | | /** |