2013-05-17 9 views
6

私はasp.net mvcフロントエンドサイトのデータベースとしてMongodbを使用しています。私はMongoDBを3台のサーバ、レプリカセット、プライマリ、セカンダリ、そしてアービタで動作させています。これに接続するのは、Mongoに保持されているデータに対してCRUD操作を実行する3つのフロントエンドWebサーバーです。私はセットアップに関する多くの質問をしています。MongoDbの接続文字列を理解する

これは、C#

server=myprimary.com:27017,mysecondary.com:27017;replicaset=MySet;safe=true;database=MyDatabase 

それは正しいですから、私の接続文字列は、この接続文字列でのアービタを含むようにされていませんか?

私はSQL Serverを使用しているとき、すべての接続文字列を統合セキュリティで設定します。 Mongo接続文字列の似たようなベストプラクティスは何ですか?

+0

役に立つかもしれないhttp://www.code-sample.com/2016/07/mongodb-connection-string-username.html –

答えて

3

この接続文字列にアービターを含めないのは正しいですか?

あなたは、アービターの詳細を提供する必要はありません。それは、あなたのアプリケーションドライバによって自動的に発見されます。

mongoURIで提供できるのは、接続するデータベースのSSLオプションまたはユーザー名とパスワードのみです。しかし、私はあなたに思い出させます。運転手の中には、mongoURIでSSLや「ユーザー名」と「パスワード」を守らない人もいます。

http://docs.mongodb.org/manual/reference/connection-string/#uri.ssl

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 
0

私はあなたがthe documentationにご相談をお勧めしたいです。それはあなたの質問のほとんどに答えることができます。また、別の接続文字列構文を使用していることがわかります。あなたが使用しているバージョンを廃止する可能性が高いので、私は他の接続文字列形式に変更することを強くお勧めします。同等の接続文字列は

mongodb://myprimary.com:27017,mysecondary.com:27017/MyDatabase/?replicaset=MySet. 

です。最後に、認証に関する前のリンクのドキュメントがあります。私たちは "統合セキュリティ"オプションを持っていませんが、私たちはSSPIの統合(GSSAPIとケルベロスとも呼ばれます)をサポートしています。このマニュアルでは、外部認証と呼ばれています。注意すべきことは、あなたが走っているMongoDBサーバがLinuxボックスにあり、ケルベロスでセットアップされている必要があるということです。キータブファイルを取得するためにActive Directoryと組み合わせて使用​​すると、これはcomplicated processになる可能性があります。

+0

この情報をお寄せいただきありがとうございます - 私はWindowsサーバー上で実行していますので、どのような認証オプションを利用できますか? – amateur

+0

Windowsサーバ上でmongodb実行ファイルを実行している場合は、ネイティブ認証だけが必要です。 MongoDBに格納されているユーザーとパスワードの場合と同じです。 –

関連する問題