1

System.Diagnostics に基づいてトレースを実装しました。

System.Diagnostics.TextWriterTraceListener も使用しており、トレース全体を MOSS 2007 Web アプリケーションに接続しています。

何らかの理由でトレースが (a) ログ ファイルの作成、および/または (b)現在 SharePoint サイトを閲覧しているユーザーを使用してログ ファイルへの書き込みを試みています。特定のログを使用するようにログを構成する方法はありますか?代わりにユーザーアカウント?

4

2 に答える 2

1

明らかに、MOSS は Windows 認証 (kerberos) と偽装を使用するように構成されています。moss にログインしている現在のユーザーを偽装する必要がない場合は、偽装をオフにします (web.config にあります)。ログ ファイルは、moss インストールのアプリケーション プールを実行しているユーザーによって作成および書き込まれることがわかります。

偽装を使用する必要がある場合、別の解決策は、ログ ディレクトリ (およびログ ディレクトリのみ) にファイルを作成および書き込む権限を全員に与えることです。ただし、これは必ずしも最良のアイデアではありません。ログを読む必要がある人以外のすべての人の読み取り許可を禁止できますが、ディスクをいっぱいにして DoS しようとする人を心配する必要があります。

3 番目の選択肢は、ログインする前に ID を切り替えることです。このようなものがうまくいくかもしれません:

var wic = WindowsIdentity.Impersonate(IntPtr.Zero); // "revert to self"
/* LOG GOES HERE K */
wic.Undo(); // return to impersonation

大きな警告: 私はこのことを自分で学んでいるので、上記のコードはまったく機能しない可能性があります。その場合、ログ書き込み ID にログインするために p/invoke する必要がないため、それは素晴らしいことです。つまり、そのユーザーを作成して、そのパスワードをアプリケーションにクリアテキストで保存する必要もありません。

この古いスキーターはどこにいるのかしら?Windows のセキュリティには、かなりの労力が必要です。私はちょうど今、バーを始めたばかりです...

于 2008-12-08T15:03:08.820 に答える
0

これが必要だと言わないでください - http://www.15seconds.com/Issue/040511.htm?voteresult=5

于 2008-12-08T12:08:50.827 に答える