0

Web アプリケーション (ASP.NET 4) で asp ログイン コントロールを使用します。管理者ロールのユーザーの場合、管理者ページにリダイレクトします。

私はこのコードを使用しますが、機能しません:

protected void baseLogin1_LoggingIn(object sender, LoginCancelEventArgs e)
    {
        if (Page.User.Identity.IsAuthenticated && Roles.IsUserInRole(Page.User.Identity.Name, "Admin"))
        {
            Page.Response.Redirect("admin/Default.aspx");
        }
    }

私を助けてください。

4

2 に答える 2

1

LoggingInEvent は、ユーザーが認証される前に発生します。したがって、条件の最初の部分は常に false です。LoggedIn イベントの下にロジックを移動します。これを試してください:

protected void baseLogin1_LoggedIn(object sender, EventArgs e)
{
    if (Context.User.Identity.IsAuthenticated && Context.User.IsInRole("Admin"))
    {
        Context.Response.Redirect("admin/Default.aspx");
    }
}
于 2013-06-02T20:47:36.063 に答える