「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
反映には、IISの再起動が必要です。
<!--
JavaScript ファイルを認証対象外にする
-->
<location path="Framework/Js">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
共有フォルダへのアクセス権付与が必要です。
上記を実施できない場合は、ASP.NETの偽装か区間偽装を推奨します。
余談:
bool ret; string cmdNotepad = Environment.GetEnvironmentVariable( "SystemRoot", EnvironmentVariableTarget.Process) + @"\system32\notepad.exe"; // 通常起動 Process.Start(cmdNotepad); // 偽装起動 // ・ASP.NET偽装や、ImpersonateValidUserの偽装レベルはSecurityImpersonationなので、これに合わせる必要がある。 // ・独自偽装の、偽装レベルは、SecurityImpersonation、SecurityDelegationどちらでも良いが、双方を合わせる必要がある。 // ・実行アカウントには、「プロセス レベル トークンの置き換え」セキュリティ・ポリシー設定が必要になる。 ret = IdentityImpersonation.CreateProcessAsImpersonationUser(cmdNotepad, "");
try
{
// コードの特定部分を実行するときのみ、任意のユーザを偽装する。
// 偽装して
ii = new IdentityImpersonation();
ret = ii.ImpersonateValidUser("x", "", "x");
// 偽装アカウントでの処理
// 存在チェック
this.lblElse.Text
+= string.Format("、偽装後(任意のユーザ「{0}」を偽装):", WindowsIdentity.GetCurrent().Name)
+ ResourceLoader.LoadAsString(@"c:\test.txt", Encoding.GetEncoding(CustomEncode.UTF_8));
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
finally
{
// 偽装解除
ret = ii.UndoImpersonation();
}
可能です。
ログ出力フォーマットはカスタマイズ可能レイヤであるベースクラス2で定義されています。
以下のケースで、上記処理を案件ごとにカスタマイズして下さい。
ログ出力機能は、log4netの機能を使用しておりますので、
log4netの類似機能(MaxSizeRollBackups?、CountDirection?)で代替下さい。
<param name="File" value="${USERPROFILE}?Log?ACCESS" />と記述すればOKです(USERPROFILEはログイン ユーザ毎に異なる環境変数値)。
log4netの仕様を確認すると、以下のようになっているようなので、
Loggerのlevelにフィルタ設定すれば、一番性能的に良いと思います。
- Loggers ---> Logger ---> (level) ---> Appenders ---> Appender ---> (level) -> Output
└-> RootLogger ---> Appender ---> (level) ---> Output
プログラムからコントロールする場合は、
LogIFの「ログ レベル情報取得インターフェイス」を使用してください。
(Open棟梁の)テストに関するいろいろ。
Client Profileはサポートしていません。
.NET Framework Client Profile http://msdn.microsoft.com/ja-jp/library/vstudio/cc656912.aspx .NET Framework 4.5 以降では、Client Profile が中止され、 完全な再頒布可能パッケージのみが使用できます。
今まではdefect(欠陥)か?とも考えていましたが、 上記理由で、今後のClient Profileへの対応予定はありません。 (また、Client Profile前提の開発も、あまりお勧めしません)