2011-02-01 4 views
1

フォークOpenEJB Embedded設定でUsersFile、GroupsFile、conf/login.configを指定する方法は?

NetBeansでOpenEJBをセットアップして、埋め込み設定で実行してデバッグできるようにしました。認証を追加しようとするまでうまくいきました。

我々は、スタンドアロンサーバーとしてそれを実行すると、我々はセキュリティユーザおよびグループのリストを編集することができ、それが動作します:

${openejb.base}/conf/login.config 
${openejb.base}/conf/users.properties 
${openejb.base}/conf/groups.properties 

使用している場合しかし、我々はこれらの3つのファイルを指定する方法を見つけることができませんでしたOpenEJB組み込み設定(Netbeansプロジェクト) OpenEJBはどこに置かれても表示されないようです。この方法は、常にで失敗呼び出す:

*javax.security.auth.login.FailedLoginException: User does not exist* 

誰もが組み込みモードで実行しているときのOpenEJBが使用するどのようなユーザーおよびグループを指定する方法を知っていますか?すべてのソースファイル PROJECTNAME/libに - - ここで

は、NetBeansのプロジェクト構造

PROJECTNAME/srcにあるjarファイル:データベースドライバ、全てのOpenEJBライブラリは PROJECTNAME/libに/ confに - セキュリティファイル

おかげで、

ルイス

答えて

1

OpenEJBに設定ファイルの場所を伝えるには、LocalInitialContextプロパティを使用する必要があります。

conf/users.properties 
conf/openejb.xml 
conf/logs 
conf/logs/logs.txt 
conf/groups.properties 

次に、あなたがどこそれらを見つけるためのOpenEJBを指示する必要があります:私たちのセットアップでは、プロジェクトをコンパイルした後、構築/プロジェクト名に以下のファイルをコピーするAntスクリプトを設定し

Properties properties = new Properties(); 
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); 

//Here are the important properties that you were missing 
properties.setProperty("openejb.home", "../build"); 
properties.setProperty("openejb.configuration", "conf/openejb.xml"); 

//User and password for tests 
properties.put(Context.SECURITY_PRINCIPAL, "userName"); 
properties.put(Context.SECURITY_CREDENTIALS, "thePassword"); 

InitialContext initialContext = new InitialContext(properties); 

EJBRemote ejb = (EJBRemote) initialContext.lookup("EJBRemote"); 

今することができますNetBeans、Eclipse、または任意のIDE内でOpenEJBを実行します。さらに、antスクリプトを使用してコマンドラインからすべての単体テストを実行することもできます。

関連する問題