私は .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()か?