DefaultAuthenticationEventArgs(HttpContext) 建構函式

定義

初始化 DefaultAuthenticationEventArgs 類別的新執行個體。

public:
 DefaultAuthenticationEventArgs(System::Web::HttpContext ^ context);
public DefaultAuthenticationEventArgs (System.Web.HttpContext context);
new System.Web.Security.DefaultAuthenticationEventArgs : System.Web.HttpContext -> System.Web.Security.DefaultAuthenticationEventArgs
Public Sub New (context As HttpContext)

參數

context
HttpContext

事件的內容。

範例

下列程式碼範例會使用DefaultAuthentication_OnAuthenticate事件來測試目前 HttpContext 的 屬性是否 Usernull 。 如果屬性為 null ,則本範例會將 User 目前 HttpContext 的 屬性設定為 GenericPrincipal 物件,其中 Identity 物件的 屬性 GenericPrincipalGenericIdentity 屬性值為 「default」 的物件 Name

注意

DefaultAuthentication_OnAuthenticate 事件會在 事件之前 AuthorizeRequest 引發。 因此,如果您將 User 目前 HttpContext 的 屬性設定為自訂身分識別,可能會影響應用程式的行為。 例如,如果您使用 FormsAuthentication 類別,而且您確定只有已驗證的使用者能夠存取您的網站,方法是使用 authorization 區段並指定 <deny users="?" /> ,您將忽略 deny 此範例中的 元素,因為使用者會有名稱,也就是 「default」。 相反地,您可以指定 <deny users="default" /> 以確保只有已驗證的使用者才能存取您的網站。

public void DefaultAuthentication_OnAuthenticate(object sender,
                                                 DefaultAuthenticationEventArgs args)
{
  if (args.Context.User == null)
    args.Context.User = 
      new System.Security.Principal.GenericPrincipal(
        new System.Security.Principal.GenericIdentity("default"),
        new String[0]);
}
Public Sub DefaultAuthentication_OnAuthenticate(sender As Object, _
                                                args As DefaultAuthenticationEventArgs)
  If args.Context.User Is Nothing Then
    args.Context.User = _
      new System.Security.Principal.GenericPrincipal( _
        new System.Security.Principal.GenericIdentity("default"), _
        new String(0) {})
  End If
End Sub

備註

物件 DefaultAuthenticationModuleDefaultAuthenticationEventArgs 使用目前的 HttpContext 建構 物件,並將它傳遞給 DefaultAuthentication_OnAuthenticate 事件。

您可以使用 Context 提供給DefaultAuthentication_OnAuthenticate事件之 DefaultAuthenticationEventArgs 物件的 屬性,將目前 HttpContext 的 屬性設定 User 為自訂 IPrincipal 物件。 如果您未指定 屬性所參考 之 HttpContext 屬性的值 User ,會將 DefaultAuthenticationModuleHttpContext 屬性設定 UserGenericPrincipal 不包含任何使用者資訊的 物件。 Context

DefaultAuthentication_OnAuthenticate事件會在 事件之後 AuthenticateRequest 和 事件之前 AuthorizeRequest 引發。 如果您有一個 authorization 區段相依于使用者名稱來拒絕或允許存取您的應用程式,則修改 User 目前 HttpContext 的 屬性可能會影響應用程式的行為。 當您在 態中指定 authorization 區段時,請務必考慮您在DefaultAuthentication_OnAuthenticate事件期間設定的使用者名稱。

適用於

另請參閱