0

私はasp.netメンバーシップを使用しています.loin、register、forget passのようなルートにいくつかのページがあり、ログインする前、または登録されていない前にすべてのユーザーがアクセスできます.ユーザーがログインしたら、これらのページにアクセスできないようにしたい. 、つまり、ユーザーがアドレスバーに URL を手動で入力すると、それらのページへのアクセスが許可され、これを防ぐ方法は? また、ログイン後に特定のページにリダイレクトする方法にも問題があります。

4

2 に答える 2

1

UrlReferrer を使用して、ページがナビゲーションによってアクセスされているかどうかを検証できます。UrlReferrer は、現在の URL にリンクされたクライアントの以前の要求の URL に関する情報を取得します。詳細については、このリンクをご覧ください

 if(Request.UrlReferrer == null)
 {
   //code to redirection to login page
 }
于 2012-05-10T10:41:09.803 に答える
1

リダイレクトするには、ログインしたら FormAuthentication.RedirectfromLoginPageをチェックします

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   else
     Msg.Text = "Login failed. Please check your user name and password and try again.";
}

ユーザーが認証されているかどうかを確認するには、

   Page.User.Identity.IsAuthenticated

フォーム認証については、このリンクを確認してください

于 2012-05-10T10:49:17.150 に答える