私は .NET4 ソースを読んでいます (研究のために自由にダウンロードできます) System.Web.Security.FormsAuthenticationModule
。
クラスは次のように宣言されます。
public sealed class FormsAuthenticationModule : IHttpModule
where には とIHttpModule
の 2 つのメソッドがInit()
ありDispose()
ます。
内部OnEnter()
には次の行があります。
// Step 2: Call OnAuthenticate virtual method to create
// an IPrincipal for this request
OnAuthenticate( new FormsAuthenticationEventArgs(context) );
whereOnAuthenticate()
は次のように宣言されます。
// OnAuthenticate: Forms Authentication modules can override
// this method to create a Forms IPrincipal object from
// a WindowsIdentity
private void OnAuthenticate(FormsAuthenticationEventArgs e) {
現在、クラスはsealed
であるため、継承することはできません。また、そうでOnAuthenticate()
はないvirtual
ので、とにかくそれがどのようにオーバーライドされたのかわかりません。
したがって、これらのコメントは古くなっているように見え、上書きOnAuthenticate()
はできなくなりました。
何か問題がありましたか?このコードはオーバーライドを許可する可能性がありますOnAuthenticate()
か?