AnsweredAssumed Answered

アカウントロックの実現方法が知りたい

Question asked by amasuzawa on Jan 22, 2010
Latest reply on Jan 26, 2010 by amasuzawa
はじめまして。枡澤と申します。

Alfresco2.9.0Bにおいてアカウントロックを実現したいのですが、
実現可否および実現方法について情報をお持ちの方はいらっしゃいませんか。

alfrescoの標準機能として提供されていればもちろんそれを利用したいのですが、
それ以外の実現方法等でも構いません。

当方の環境は以下の通りです。
■環境
  • Alfresco Community Network - v2.9.0 (B 683)

  • Tomcat 5.5.23

  • JDK 1.5.0_15

  • MySQL 5.0.22

  • CentOS 5.3
よろしくお願いいたします。

—–
実はalfrescoの機能確認もせずに独自に実装していたのですが、
挙動が怪しくなってきたので、こちらについても有識者のご意見をお聞きしたいと。

現在仕掛中のServlet Filterによる独自実装について
# あまり参考にならないかもしれませんが・・・

■実現方法概要
  • ロック対象のアカウントをDBのロックテーブルで管理(ロックテーブルを別途用意)

  • Servlet Filter(独自実装)にてアクセス時にカレントユーザ名を取得
  • カレントユーザ名の取得には下記メソッドを使用
    org.alfresco.repo.security.authentication.AuthenticationUtil#getCurrentUserName()

  • 取得したユーザがロックテーブルに存在するかをチェック
  • チェック結果により処理を振り分ける
    ・存在する場合  →ロックされている旨を表示するページに遷移
    ・存在しない場合 →なにもせず(正常画面に遷移)
■問題点/疑問点
  • カレントユーザ名の取得
  • ロックユーザと非ロックユーザでアクセスを繰り返すと、上記メソッドが返す値が不定となる(ことがある)。
    ロックユーザでアクセスした際に非ロックユーザの値が帰ってくる場合があり、正常画面に遷移してしまう。

  • 認証状態(認証済  or 認証未済)の判定方法が不明
  • 上記の判定方法がわからないため、現在の実装では認証未済の状態でもユーザ名の取得をしています。(明らかに無駄です・・・)
そもそも上記メソッドの仕様を勘違いしているの可能性もありますが、
お気づきの点等ありましたらご教示頂きたく。

Outcomes