RavenDBをネットワーク上で動作させる方法に関する情報を見つけるのが難しいです。同じネットワーク内で、私のアプリケーションのインスタンスを実行させることができ、それは私のRavenDBからのデータを表示します。しかし、データを書き込もうとすると、401 Unauthorized例外が発生します。RavenDB Network Access
RavenDBをネットワーク経由でアクセスするように設定する正しい方法は何ですか?
は今のところ、私は短期的な解決策であるRaven.Server.exe.config、でこれを持っている:
<add key="Raven/AnonymousAccess" value="All" />
私は理解していない何を、ということは、RavenDBのWebサイトですこのようなものを使用すると言う:
<connectionStrings>
<add name="RavenDb"
connectionString="Url=http://serverName:8080;user=user;password=password"/>
</connectionStrings>
[OK]を、それが実行しているアプリケーションのための素晴らしいことだが、どのように私は、ユーザー名とパスワードを許可するようにRavenDBサーバを設定するのですか?これを行うにはちょうど間違った方法ですか(何とかRavenDB設定ファイルを設定してその資格情報を許可する)のですか?それが間違っている場合、どのようにサーバー側で資格情報を定義することになっていますか?
編集:私はダブルクリックRaven.Server.exeでRavenDBを実行している
:ここでは私の試みと結果です。
シナリオ1
クライアントのapp.config:
<connectionStrings>
<add name="RavenDb" connectionString="Url = http://server:8080;domain=Xx;user=Xx\user;password=pw"/>
</connectionStrings>
のDocumentStoreセットアップ:
DocumentStore documentStore = new DocumentStore();
documentStore.ConnectionStringName = "RavenDb";
documentStore.Initialize();
保存操作:
Session.Store(objectToSave);
結果: "リモートサーバーからエラーが返されました:(401)Unauthorized"
シナリオ2
クライアントのapp.config:
<add key="databaseUrl" value="http://server:8080"/>
のDocumentStoreセットアップ:
string databaseUrl = ConfigurationManager.AppSettings["databaseUrl"];
DocumentStore documentStore = new DocumentStore();
documentStore.Url = databaseUrl;
documentStore.Initialize();
保存操作:
Session.Store(objectToSave);
結果: "リモートサーバーからエラーが返されました:(401)Unauthorized" 内部例外: "ターゲットプリンシパル名が正しくありません"
を使用していたのに対し、そのリモートでうまく働いた私の接続文字列が
ました。私はサーバーの設定でユーザーを指定する必要はありません。クライアント接続は、設定でユーザーを指定することができ、そのユーザーがデータフォルダにアクセスできる限り、私はそれを試してみます。 –
そうですね。 –
2つのアプローチを試みました。上記のシナリオ/編集を参照してください。私は何が欠けていますか? –