User management in our project is done by /apps/dvdrental/dvdrental/src/main/java/com/dvdrental/impl/CreateUserServlet.java See the sequence here, See in this class how CreateUserServlet is map /** * @scr.component metatype="false" * @scr.service interface="javax.servlet.Servlet" * @scr.property name="sling.servlet.paths" values="/bin/register" */ public class CreateUserServlet extends SlingAllMethodsServlet { } Actual user creation is done by Jackrabbit API. import org.apache.jackrabbit.api.security.user.UserManager; import org.apache.jackrabbit.api.JackrabbitSession; import org.apache.jackrabbit.api.security.user.User; session = (JackrabbitSession) repository.loginAdministrative(null); UserManager uMgr = session.getUserManager(); uMgr.createUser(userName, password); Based on type of group selected and assigned to user org.apache.jackrabbit.api.security.user.Group group = (org.apache.jackrabbit.api.security.user.Group) uMgr.getAuthorizable(groupName); group.addMember(user); In crx it looks like this, |