0

asp.net サイトをパスワードで保護しようとしていますが、問題なく実行できましたが、アドレスの末尾に /home.aspx を追加すると、ログイン ページをバイパスしてしまいます。ボタンからのみアクセスできるページで、直接アクセスするとログインページにリダイレクトされますか?

ありがとう

4

3 に答える 3

0

他の方法を使用している場合を除き、msdnでasp.netメンバーシッププロバイダーのドキュメントを確認してください。

http://msdn.microsoft.com/en-us/library/ff648345.aspx

右下にスクロールすると、これが探しているものですが、このページには必要なすべての情報が表示されます。

于 2012-04-24T11:01:00.457 に答える
0

ログオン状態をセッションに保存し、ページの読み込みまたは pre init で、ログインに成功した場合にのみ設定される isLoggedin フラグをチェックできます。これは、ログインしている場合はページに直接移動することを妨げませんが、ログインしていない場合は締め出します.

于 2012-04-24T11:13:31.260 に答える
0

ログインした時点で、セッションを開始する必要があります。これは、高校のプロジェクトの 1 つで使用したコードです。

> public void LoginUser(string id, string mail, string ww, string admin)
>     {
>         Session["UserID"] = id;
>         Session["IsAdmin"] = admin;
>         if(admin == "admin")
>         {
>             Response.Redirect("~/Admin/AdminCP.aspx");
>         }
>         else if (admin == "user")
>         {
>             Response.Redirect("~/User/UserCP.aspx");
>         }
>         else
>         {
>             lblLoginError.Text = "An error has accurred";
>             lblLoginError.Visible = true;
>             lblLoginError.CssClass = "failureNotification left";
>         }
>     }

これは、ユーザーが管理者か基本ユーザーかを検出するために使用した方法です。この後、Page_Load セクションのすべてのページに追加する必要があります

> if (Session["UserID"] == null)
>         {
>             Response.Redirect("~/Account/Login.aspx");
>         }

これにより、セッション UserID が実行されているかどうかが毎回チェックされます。空の場合、ログインは発生していないため、ユーザーはログインできるページにリダイレクトされます。

これが役に立てば幸いです;-)

于 2012-04-24T11:40:26.943 に答える