2011-02-06 24 views
0

自分のプロフィールにアクセスするにはログインする必要があるウェブサイトを構築しています そのため、一部のページはユーザーと管理者にとって同じです彼らはそれぞれのログインIDを使用してページを表示することができます)、私は何人がURLの中に入らないとログインせずにアクセスすることができることを確実にするために使用されるコードは、これはページロードイベント でウェブサイトの管理ページに移動する

 if (Session["cod"] == null && Session["admin"] == null) 
    { 
     Response.Redirect("You need to Login.aspx"); 
    } 

ました絶対にうまく動作します

ただし、管理者用に予約されているページの場合は問題が発生します。 Sコードは、私は推測している

+0

私は各ページ内の認可をチェックするにはあまりにも退屈だろうと思います。それは、HTTPハンドラでレベルアップしなければならないのでしょうか? – Ritesh

答えて

0

事前にURLに管理ページパス ありがとうを書き込むことによってアクセスすることができても、簡単なユーザーをログインした後、ここ 動作しないあなたのAND演算でそのあなたの文はORにする必要がある場合。上記のロジックで

、ユーザーには codセッション なし adminセッションがない場合はアクセスを拒否された(とリダイレクト)されます。

これは、ユーザがの場合にのみ、の対話セッションがアクセスを許可されることを意味します。

+0

ANDの代わりにORを使用すると、状況に関係なく文が真になり、ログインページにリダイレクトされます。 – Roadrunner

+0

私はあなたの質問を理解できないと思います。より多くの文脈を追加するために元の質問を編集できますか? – payne

+0

私はログインページを使用してsuerとadminの両方をログインさせ、異なるセッション変数にIDを格納するようにしています.Uは上のコードでそれらを見ることができ、トータルナビゲーションはこれらの2つの変数に基づいています – Roadrunner

0

ログインページにリダイレクトするだけでなく、各ページの承認を確認するコードを追加する必要があります。

ユーザーが管理者ページに移動しようとした場合たとえば、あなたが書くことができます。

if (Session["cod"] != null && Session["admin"] == null) 
{ 
    Response.Redirect("user home page.aspx"); 
} else if (Session["cod"] == null && Session["admin"] == null) { 
    Response.Redirect("You need to Login.aspx"); 
} 
関連する問題