Allows to initialize Jackrabbit container in tests
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.jackrabbit / src / main / java / org / argeo / security / jackrabbit / providers / JackrabbitAuthenticationProvider.java
index b7dedad79e42e027eca179f5e42d88330b27c3ba..d9f9f379a79a9cd6c127c78c870af4b8534b6633 100644 (file)
@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
@@ -35,4 +36,18 @@ public class JackrabbitAuthenticationProvider extends JcrAuthenticationProvider
                }
        }
 
+       @Override
+       protected Boolean isEnabled(Node userHome) {
+               try {
+                       UserManager userManager = ((JackrabbitSession) userHome
+                                       .getSession()).getUserManager();
+                       User user = (User) userManager.getAuthorizable(userHome
+                                       .getSession().getUserID());
+                       return !user.isDisabled();
+               } catch (RepositoryException e) {
+                       throw new ArgeoException("Cannot check whether " + userHome
+                                       + " is enabled", e);
+               }
+       }
+
 }