Index: userservice/readme.html
===================================================================
--- userservice/readme.html (revision 10743)
+++ userservice/readme.html (working copy)
@@ -93,7 +93,7 @@
type | Required | The admin service required.
- Possible values are add, delete, update |
+ Possible values are add, delete, update, enable, disable
secret | Required |
@@ -101,7 +101,7 @@
username | Required |
- The username of the user to add, update or delete. ie the part before the @ symbol. |
+ The username of the user to add, update, delete, enable, or disable. ie the part before the @ symbol. |
password | Required for add operation |
@@ -146,6 +146,27 @@
+The following example disables a user (lockout)
+
+
+
+
+The following example enables a user (removes lockout)
+
+
+
+
+
This example updates a user
Index: userservice/src/java/org/jivesoftware/openfire/plugin/userService/UserServiceServlet.java
===================================================================
--- userservice/src/java/org/jivesoftware/openfire/plugin/userService/UserServiceServlet.java (revision 10743)
+++ userservice/src/java/org/jivesoftware/openfire/plugin/userService/UserServiceServlet.java (working copy)
@@ -114,6 +114,14 @@
replyMessage("ok",response,out);
//xmlProvider.sendInfo(request, response, presence);
}
+ else if ("enable".equals(type)) {
+ plugin.enableUser(username);
+ replyMessage("ok",response,out);
+ }
+ else if ("disable".equals(type)) {
+ plugin.disableUser(username);
+ replyMessage("ok",response,out);
+ }
else if ("update".equals(type)) {
plugin.updateUser(username, password,name,email, groupNames);
replyMessage("ok",response,out);
Index: userservice/src/java/org/jivesoftware/openfire/plugin/UserServicePlugin.java
===================================================================
--- userservice/src/java/org/jivesoftware/openfire/plugin/UserServicePlugin.java (revision 10743)
+++ userservice/src/java/org/jivesoftware/openfire/plugin/UserServicePlugin.java (working copy)
@@ -17,6 +17,7 @@
import org.jivesoftware.openfire.group.Group;
import org.jivesoftware.openfire.group.GroupManager;
import org.jivesoftware.openfire.group.GroupNotFoundException;
+import org.jivesoftware.openfire.lockout.LockOutManager;
import org.jivesoftware.openfire.user.User;
import org.jivesoftware.openfire.user.UserAlreadyExistsException;
import org.jivesoftware.openfire.user.UserManager;
@@ -95,6 +96,32 @@
User user = getUser(username);
userManager.deleteUser(user);
}
+
+ /**
+ * Lock Out on a given username
+ *
+ * @param username the username of the local user to disable.
+ * @throws UserNotFoundException if the requested user
+ * does not exist in the local server.
+ */
+ public void disableUser(String username) throws UserNotFoundException
+ {
+ User user = getUser(username);
+ LockOutManager.getInstance().disableAccount(username, null, null);
+ }
+
+ /**
+ * Remove the lockout on a given username
+ *
+ * @param username the username of the local user to enable.
+ * @throws UserNotFoundException if the requested user
+ * does not exist in the local server.
+ */
+ public void enableUser(String username) throws UserNotFoundException
+ {
+ User user = getUser(username);
+ LockOutManager.getInstance().enableAccount(username);
+ }
public void updateUser(String username, String password, String name, String email, String groupNames)
throws UserNotFoundException
Index: userservice/changelog.html
===================================================================
--- userservice/changelog.html (revision 10743)
+++ userservice/changelog.html (working copy)
@@ -44,6 +44,12 @@
User Service Plugin Changelog
+1.3.1 -- August 12, 2008
+
+ - Added support for lockout (type=disable) and unlock (type=enable). Author: Daryl Herzmann
+
+
+
1.3.0 -- October 12, 2007
- Added support for filtering by IP address.
@@ -75,4 +81,4 @@