共用方式為


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,範例將當前HttpContext值的屬性設UserGenericPrincipal物件,該Identity物件的性質GenericPrincipalGenericIdentityName預設值」的物件。

備註

DefaultAuthentication_OnAuthenticate事件會在活動前AuthorizeRequest提出。 因此,如果你將 current HttpContext 的屬性設User為自訂身份,可能會影響應用程式的行為。 例如,如果你使用這個 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

備註

物件DefaultAuthenticationModule利用電流HttpContext構造一個DefaultAuthenticationEventArgs物件,並將其傳遞給DefaultAuthentication_OnAuthenticate事件。

你可以利用Context提供給 DefaultAuthentication_OnAuthenticate 事件的物件屬性DefaultAuthenticationEventArgs,將 current HttpContext 的屬性設定User為自訂IPrincipal物件。 如果你沒有指定User該屬性所Context參考的屬性HttpContext值,該屬性會DefaultAuthenticationModule設定UserHttpContextGenericPrincipal為一個不包含使用者資訊的物件。

DefaultAuthentication_OnAuthenticate事件會在活動結束AuthenticateRequest後及活動前AuthorizeRequest提出。 如果你有一個 authorization 區塊依賴使用者名稱來拒絕或允許存取你的應用程式,修改 User 當前 HttpContext 的屬性可能會影響應用程式的行為。 在設定中指定authorization區段時,務必考慮你在DefaultAuthentication_OnAuthenticate事件中設定的使用者名稱。

適用於

另請參閱