Jetspeedでユーザーの追加や削除をバッチ処理したいという要望をよく聞いていたのですが、それをするサーブレットをPALポータルに追加してみました(次のリリースでは含まれている予定)。
http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/pal-portal/trunk/portal/files/components/portal/src/java/jp/sf/pal/portal/servlet/UserManagerServlet.java?rev=862&root=pal&view=markup
使い方は、ポータルの web.xml に以下のサーブレット定義を加える(必要に応じて、セキュリティの設定をする)。
<servlet>
<servlet-name>UserManagerServlet</servlet-name>
<servlet-class>jp.sf.pal.portal.servlet.UserManagerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserManagerServlet</servlet-name>
<url-pattern>/userManager</url-pattern>
</servlet-mapping>
あとは http://localhost:8080/palportal/userManager?name1=value1&… にアクセスする。以下の操作が可能である。
- ユーザーの認証確認
- ユーザーの追加
- パスワードの更新
- ユーザーの削除
出力フォーマットは以下のような感じ。
<?xml version="1.0" encoding="UTF-8" ?>
<results>
<status>文字列</status>
<message>文字列</message>
<result>
<name>文字列</name>
<value>文字列</value>
</result>
</results>
ユーザーの認証確認
URLで渡すパラメータ
リクエストパラメータ |
値 |
action |
authenticate |
username |
ユーザー名 |
password |
パスワード |
出力結果のstatus
値 |
説明 |
success |
正常終了(ユーザーが存在して、パスワードも正しい場合) |
authentication-failed |
ユーザー認証に失敗した |
invalid-parameter |
リクエストパラメータが正しくない |
excluded-user |
操作の対象外ユーザーへの処理を行った |
ユーザーの追加
URLで渡すパラメータ
リクエストパラメータ |
値 |
action |
create |
username |
ユーザー名 |
password |
パスワード |
出力結果のstatus
値 |
説明 |
success |
正常終了(ユーザーが正常に作成された場合) |
user-already-exists |
ユーザーが既に存在していて、作成できない |
server-error |
ユーザー作成時にサーバー側でエラーが発生した |
invalid-parameter |
リクエストパラメータが正しくない |
excluded-user |
操作の対象外ユーザーへの処理を行った |
パスワードの更新
URLで渡すパラメータ
リクエストパラメータ |
値 |
action |
update |
username |
ユーザー名 |
password |
パスワード |
出力結果のstatus
値 |
説明 |
success |
正常終了(ユーザー情報が正常に更新された場合) |
user-not-found |
対象ユーザーが存在しない |
server-error |
ユーザー更新時にサーバー側でエラーが発生した |
invalid-parameter |
リクエストパラメータが正しくない |
excluded-user |
操作の対象外ユーザーへの処理を行った |
ユーザーの削除
URLで渡すパラメータ
リクエストパラメータ |
値 |
action |
update |
username |
ユーザー名 |
password |
パスワード |
出力結果のstatus
値 |
説明 |
success |
正常終了(ユーザーが正常に削除された場合) |
user-not-found |
対象ユーザーが存在しない |
server-error |
ユーザー削除時にサーバー側でエラーが発生した |
invalid-parameter |
リクエストパラメータが正しくない |
excluded-user |
操作の対象外ユーザーへの処理を行った |
以上。