| | |
| | | import com.gitblit.models.TeamModel; |
| | | import com.gitblit.models.UserModel; |
| | | import com.gitblit.tests.mock.MemorySettings; |
| | | import com.gitblit.utils.XssFilter; |
| | | import com.gitblit.utils.XssFilter.AllowXssFilter; |
| | | import com.unboundid.ldap.listener.InMemoryDirectoryServer; |
| | | import com.unboundid.ldap.listener.InMemoryDirectoryServerConfig; |
| | | import com.unboundid.ldap.listener.InMemoryListenerConfig; |
| | |
| | | } |
| | | |
| | | private LdapAuthProvider newLdapAuthentication(IStoredSettings settings) { |
| | | RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start(); |
| | | XssFilter xssFilter = new AllowXssFilter(); |
| | | RuntimeManager runtime = new RuntimeManager(settings, xssFilter, GitBlitSuite.BASEFOLDER).start(); |
| | | userManager = new UserManager(runtime, null).start(); |
| | | LdapAuthProvider ldap = new LdapAuthProvider(); |
| | | ldap.setup(runtime, userManager); |
| | |
| | | } |
| | | |
| | | private AuthenticationManager newAuthenticationManager(IStoredSettings settings) { |
| | | RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start(); |
| | | XssFilter xssFilter = new AllowXssFilter(); |
| | | RuntimeManager runtime = new RuntimeManager(settings, xssFilter, GitBlitSuite.BASEFOLDER).start(); |
| | | AuthenticationManager auth = new AuthenticationManager(runtime, userManager); |
| | | auth.addAuthenticationProvider(newLdapAuthentication(settings)); |
| | | return auth; |
| | |
| | | |
| | | @Test |
| | | public void testAuthenticationManager() { |
| | | UserModel userOneModel = auth.authenticate("UserOne", "userOnePassword".toCharArray()); |
| | | UserModel userOneModel = auth.authenticate("UserOne", "userOnePassword".toCharArray(), null); |
| | | assertNotNull(userOneModel); |
| | | assertNotNull(userOneModel.getTeam("git_admins")); |
| | | assertNotNull(userOneModel.getTeam("git_users")); |
| | | assertTrue(userOneModel.canAdmin); |
| | | |
| | | UserModel userOneModelFailedAuth = auth.authenticate("UserOne", "userTwoPassword".toCharArray()); |
| | | UserModel userOneModelFailedAuth = auth.authenticate("UserOne", "userTwoPassword".toCharArray(), null); |
| | | assertNull(userOneModelFailedAuth); |
| | | |
| | | UserModel userTwoModel = auth.authenticate("UserTwo", "userTwoPassword".toCharArray()); |
| | | UserModel userTwoModel = auth.authenticate("UserTwo", "userTwoPassword".toCharArray(), null); |
| | | assertNotNull(userTwoModel); |
| | | assertNotNull(userTwoModel.getTeam("git_users")); |
| | | assertNull(userTwoModel.getTeam("git_admins")); |
| | | assertNotNull(userTwoModel.getTeam("git admins")); |
| | | assertTrue(userTwoModel.canAdmin); |
| | | |
| | | UserModel userThreeModel = auth.authenticate("UserThree", "userThreePassword".toCharArray()); |
| | | UserModel userThreeModel = auth.authenticate("UserThree", "userThreePassword".toCharArray(), null); |
| | | assertNotNull(userThreeModel); |
| | | assertNotNull(userThreeModel.getTeam("git_users")); |
| | | assertNull(userThreeModel.getTeam("git_admins")); |
| | |
| | | settings.put(Keys.realm.ldap.username, ""); |
| | | settings.put(Keys.realm.ldap.password, ""); |
| | | |
| | | UserModel userOneModel = auth.authenticate("UserOne", "userOnePassword".toCharArray()); |
| | | UserModel userOneModel = auth.authenticate("UserOne", "userOnePassword".toCharArray(), null); |
| | | assertNotNull(userOneModel); |
| | | |
| | | UserModel userOneModelFailedAuth = auth.authenticate("UserOne", "userTwoPassword".toCharArray()); |
| | | UserModel userOneModelFailedAuth = auth.authenticate("UserOne", "userTwoPassword".toCharArray(), null); |
| | | assertNull(userOneModelFailedAuth); |
| | | } |
| | | |