「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †ASP.NET †ASP.NETのweb.config、app.configへの変更の反映タイミングが解らない。 †反映には、IISの再起動が必要です。
sessionStateのmodeの初期値をStateServer?にしている理由 †
Forms認証ログイン前にJSファイルなどを参照できない。 †
<!-- JavaScript ファイルを認証対象外にする --> <location path="Framework/Js"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> 予期せぬSessionタイムアウトが発生する。 †
ASP.NETから共有フォルダにアクセスできない。 †共有フォルダへのアクセス権付与が必要です。
上記を実施できない場合は、ASP.NETの偽装か区間偽装を推奨します。 余談:
ASP.NETからEXE起動したプロセスにアクセス権が無い。 †
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, "");
偽装方式 †
ASP.NETの偽装 †
区間偽装のサンプル †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(); }
ログ出力機能 †ログ出力フォーマットをカスタマイズ可能か? †可能です。
ログ出力機能に於いて、1系 ⇔ 2系と言ったローリングを実現可能か? †ログ出力機能は、log4netの機能を使用しておりますので、 複数のプロセスから1つのファイルに書き込み可能か? †
ログ出力機能に於いて、ユーザやプロセス毎に異なるファイル出力が可能か? †ユーザ †
プロセス †前述のように、環境変数で設定可能なので、 ログ出力のコントロールが可能か? †フィルタでコントロール †log4netの仕様を確認すると、以下のようになっているようなので、 - Loggers ---> Logger ---> (level) ---> Appenders ---> Appender ---> (level) -> Output └-> RootLogger ---> Appender ---> (level) ---> Output プログラムからコントロール †プログラムからコントロールする場合は、 リッチ クライアント †リッチ クライアントの定義ファイルの保存先に、ユーザ毎に異なるディレクトリを指定可能か? †
通信制御機能 †プロキシ経由やプロキシ認証をサポートしているか? †
Windows認証を使用したSSOをサポートしているか? †
TCP/IPなどの通信プロトコルはサポートしているか? †
テスト †(Open棟梁の)テストに関するいろいろ。 パフォーマンス・テスト †
負荷テストのポイント †脆弱性対策のポイント †テスト自動化について †NuGet導入、NuGet登録 †NuGet導入後のデバッグ方法 †NuGetからローカルに切り替える。 †その他 †改元対応 †
.Net Framework ClientProfile? で動作&コンパイルできない。 †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前提の開発も、あまりお勧めしません) |