1

認証と承認のニーズに OpenSSO を使用したいと考えていますが、デフォルトの LDAP データストアではなく、データベースと通信することを希望しています。OpenAM 9.0 リリースには、実験的なデータベース データストアが存在することがわかりました。

ただし、認証とユーザーのライフサイクル管理だけに関心があるようです。データベース データストアに資格情報を格納するための準備はありません。認証と承認の情報全体をデータベースに保持したいと考えています。

コードをカスタマイズして、ポリシーを評価し、特定のリソースでユーザーができることとできないことを決定するために OpenAM がデータベースと対話するようにすることも問題ありません。ところで、ページ (URL) だけでなく、いくつかの種類のリソースを安全に保護するための要件が​​あります。

コードを調べたところ、com.sun.identity.entitlement.opensso.DataStore.java、com.sun.identity.entitlement.PolicyDataStore.java、com.sun.identity.entitlement.opensso などの基本データストア クラス見つかり まし。 OpenSSOPolicyDataStore.java

これらはすべて、LDAP ベースの実装に密接に結び付けられています。

エンタイトルメントとポリシーの決定のためにopenssoがデータベースデータストアと通信するようにカスタマイズできるインターフェイスまたは抽象クラスはありますか?

私が始めることができるヒントを提供できる場合は、この作業を行うために数か月の努力を惜しみません.

よろしくお願いいたします。

サンバ

4

4 に答える 4

0

現在、OpenAM 構成ストアは LDAP ディレクトリに限定されており、権限は構成ストアに格納されているため、この要件を実装するのは非常に難しい場合があります。それでも本当にDataBase をバックエンドとして使用したい場合は、おそらく多くのコードをリファクタリングする必要があります。

構成は主に com.sun.identity.sm.SMSObject 実装によって取得/変更されるため、データベースで動作するカスタム impl を考え出す必要があります。

于 2014-06-27T16:41:40.577 に答える
0

同様の問題を調査しています。OpenAM 用のカスタム認証モジュールが見つかりました: https://wikis.forgerock.org/confluence/display/openam/Write+a+custom+authentication+module

于 2011-11-03T17:08:30.453 に答える
0

新しいopenssoリポジトリを作成することで、認証と承認の両方をデータベース(またはその他のストレージサポート)に向けることができました。私は、com.sun.identity.idm.IdRepo を拡張する新しいクラスを作成することによってそれを行いました。新しいクラスは多くの IdRepo 抽象メソッドをオーバーロードする必要があるため、これはかなり長くなります。

しかし、これにより、opensso に新しいデータストアを作成することができました。opensso 内部データストアの問題を回避するために、新しいレルムで新しいデータストアを使用しました。

私のコードは、opensso データベースと ldap リポジトリのサンプル コード (opensso ソースで入手可能) に基づいています。

于 2012-10-26T06:36:32.237 に答える