| | |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import com.gitblit.Constants.AccountType; |
| | | import com.gitblit.Constants.Role; |
| | | import com.gitblit.IStoredSettings; |
| | | import com.gitblit.manager.IRuntimeManager; |
| | | import com.gitblit.manager.IUserManager; |
| | | import com.gitblit.models.TeamModel; |
| | | import com.gitblit.models.UserModel; |
| | | import com.gitblit.utils.ArrayUtils; |
| | | import com.gitblit.utils.StringUtils; |
| | | |
| | | public abstract class AuthenticationProvider { |
| | | |
| | |
| | | return serviceName; |
| | | } |
| | | |
| | | protected void setCookie(UserModel user, char [] password) { |
| | | // create a user cookie |
| | | if (StringUtils.isEmpty(user.cookie) && !ArrayUtils.isEmpty(password)) { |
| | | user.cookie = StringUtils.getSHA1(user.username + new String(password)); |
| | | } |
| | | } |
| | | |
| | | protected void updateUser(UserModel userModel) { |
| | | // TODO implement user model change detection |
| | | // account for new user and revised user |
| | |
| | | } |
| | | |
| | | public abstract void setup(); |
| | | |
| | | public abstract void stop(); |
| | | |
| | | public abstract UserModel authenticate(String username, char[] password); |
| | | |
| | |
| | | */ |
| | | public abstract boolean supportsTeamMembershipChanges(); |
| | | |
| | | /** |
| | | * Returns true if the user's role can be changed. |
| | | * |
| | | * @param user |
| | | * @param role |
| | | * @return true if the user's role can be changed |
| | | */ |
| | | public abstract boolean supportsRoleChanges(UserModel user, Role role); |
| | | |
| | | /** |
| | | * Returns true if the team's role can be changed. |
| | | * |
| | | * @param user |
| | | * @param role |
| | | * @return true if the team's role can be changed |
| | | */ |
| | | public abstract boolean supportsRoleChanges(TeamModel team, Role role); |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return getServiceName() + " (" + getClass().getName() + ")"; |
| | |
| | | protected UsernamePasswordAuthenticationProvider(String serviceName) { |
| | | super(serviceName); |
| | | } |
| | | |
| | | @Override |
| | | public void stop() { |
| | | |
| | | } |
| | | } |
| | | |
| | | public static class NullProvider extends AuthenticationProvider { |
| | |
| | | |
| | | @Override |
| | | public void setup() { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void stop() { |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | @Override |
| | | public boolean supportsCredentialChanges() { |
| | | return false; |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean supportsDisplayNameChanges() { |
| | | return false; |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean supportsEmailAddressChanges() { |
| | | return false; |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean supportsTeamMembershipChanges() { |
| | | return false; |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean supportsRoleChanges(UserModel user, Role role) { |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean supportsRoleChanges(TeamModel team, Role role) { |
| | | return true; |
| | | } |
| | | |
| | | } |
| | | } |