1

Webアプリケーション用の簡単なドキュメント管理システムをセットアップしようとしています。

WebアプリケーションはPHPで記述されており、MSSQLDBを使用します。

MSSQL DBには、個人を識別するテーブル「Persons」、テーブルPersonsの行へのログインを含むテーブル「Logins」、「SchoolClass」と呼ばれる別のテーブルに学校のSchoolClassesがあります。

別のテーブル「PersonsToSchoolClasses」を使用して、どのPersonがどのクラスに属しているかを判別できます。

これを見ると、テーブル「クラス」にはグループが含まれており、「個人」にはSVNで必要なユーザーが含まれていることがわかります。
このクラスとその関連付けは、頻繁に変更される可能性があります。

今、私はsvnで実験します。私はそれがまさに私が必要としているものであることを認識しました。

私はstackoverflow.comに投稿された次の質問でそれを設定しようとしました: svnリポジトリに権限を設定する方法は?

ここでは、すべてのグループとすべてのユーザーを手動で構成する必要があると説明されています。

そして最後に私の質問:
データベーステーブルからグループとユーザーを構成することは可能ですか?多分SQLで?すべてのユーザーとグループが保存されているファイルは必要ありません。また、パスワードはすでにデータベースに含まれています。SVNがこれらのテーブルを取得して使用する方法が必要です。

4

1 に答える 1

1

データベーステーブルからグループとユーザーを構成することは可能ですか?

場合によります。

を介してApacheでSubversionを使用している場合mod_dav_svn、認証を処理するのは実際にはSubversionではなく、Apacheです。これは、Apacheがサポートする任意の方法を使用して認証を実行できることを意味します。リンクした質問はsvnserve、Apacheではなく、プログラムの使用に関するものです。

Apacheを使用mod_authn_dbdして認証mod_dbdを設定し、データベースアクセスを設定できるようです。

ドキュメントからmod_dbd、FreeTDSライブラリを使用してMSSQLServerに接続できます。ただし、この機能には大きなセキュリティ警告が付随しています。つまり、FreeTDSは、パラメータ化されたクエリを使用したプリペアドステートメントをサポートしていません。これは、特に注意しない限り、ユーザーがSQLインジェクション攻撃を実行する可能性があることを意味します

これには別の欠点があります。幸運にもこれらのモジュールをすでに利用できるようになっていない限り、それらをコンパイルする必要があります。Linuxを使用しているのかWindowsを使用しているのかは明確ではありませんが、それでも実際のクマになるでしょう。

ODBCドライバーもありますが、ドキュメントではサードパーティ製であると説明されているため、ほぼ確実にコンパイルする必要があります。

正直なところ、モジュールがすでに手元にある場合を除いて、このアプローチはお勧めしません。ファイルを書き出すだけでも恥ずかしくない。ダイジェスト認証.htpasswdを使用することを忘れないでください。

于 2012-12-13T07:53:02.957 に答える