none
アクセス制限について教えてください RRS feed

  • 質問

  • Visual Web Developer ASP.NET 2.0 において、

    アクセス制限を行いたいのですが、質問があります。

     

    特定のユーザ用のページを作成したいのですが、

    その、ユーザ向けaspxファイルへのリンク(例えば http://host/hoge/hoge.aspx )を

    直接ブラウザで入力されても、ログイン前のユーザや、特定ユーザ以外には

    表示させないように動作させるには、どうすればよいのでしょうか。

     

    Page_Load() で ユーザ判定を行い、別のページに遷移させる方法では

    ページ毎に記述を行う必要があるので、もっとスマートな方法を探しているのですが、

    アドバイスをいただけないでしょうか。お願いします。

    2006年6月14日 12:45

回答

  • 「フォーム認証」とかその辺の単語で調査してみてください。
    2006年6月14日 14:19
  • ユーザがログイン後に参照したいページが複数ある場合、
    (例)
    http://host/hoge/hoge1.aspx
    http://host/hoge/hoge2.aspx
    http://host/hoge/hoge3.aspx

    hoge1.aspx内だけでログオン済みユーザかの判別を行い、hoge2.aspx、hoge3.aspxで
    チェックを行わないと、直接hoge2.aspxやhoge3.aspxのURLへアクセスされると覗かれて
    しまうので、危険かと。。(ページ毎にログオン済みユーザかを判別したほうが良いと思います)

    ログイン用のページをフォーム作成し、サーバ側で入力したユーザ名、パスワードを照合
    し、認証に成功した場合にクライアントに何らかの認証済みの情報を持たせれば可能です。

    この「何らかの認証済み情報」の持たせ方ですが、Cookieを使う(例:"auth"変数に
    "1"をセットさせる等)や、Sessionオブジェクトの利用があります。

    Session["Auth"]="1"

    でセッション変数「Auth」に"1"を入れ、

    String strAuth = (String)Session["Auth"]

    で逆に取得できます。

    各ページでセッション変数を取得し、値をチェックすれば認証済みかどうかを判別でき
    ます。

    上記例は、実現方法の例ですので、セキュリティ上の良し悪しは別としてお願いします。

    2006年6月15日 18:03
  • hidegiさん

    http://www.microsoft.com/japan/msdn/thisweek/step7/aspnet/MembershipAndRole/memberandrole3.aspx

    私はこのあたりを参考にしましたがどうでしょうか。

    2006年6月16日 0:33

すべての返信

  • 「フォーム認証」とかその辺の単語で調査してみてください。
    2006年6月14日 14:19
  • ユーザがログイン後に参照したいページが複数ある場合、
    (例)
    http://host/hoge/hoge1.aspx
    http://host/hoge/hoge2.aspx
    http://host/hoge/hoge3.aspx

    hoge1.aspx内だけでログオン済みユーザかの判別を行い、hoge2.aspx、hoge3.aspxで
    チェックを行わないと、直接hoge2.aspxやhoge3.aspxのURLへアクセスされると覗かれて
    しまうので、危険かと。。(ページ毎にログオン済みユーザかを判別したほうが良いと思います)

    ログイン用のページをフォーム作成し、サーバ側で入力したユーザ名、パスワードを照合
    し、認証に成功した場合にクライアントに何らかの認証済みの情報を持たせれば可能です。

    この「何らかの認証済み情報」の持たせ方ですが、Cookieを使う(例:"auth"変数に
    "1"をセットさせる等)や、Sessionオブジェクトの利用があります。

    Session["Auth"]="1"

    でセッション変数「Auth」に"1"を入れ、

    String strAuth = (String)Session["Auth"]

    で逆に取得できます。

    各ページでセッション変数を取得し、値をチェックすれば認証済みかどうかを判別でき
    ます。

    上記例は、実現方法の例ですので、セキュリティ上の良し悪しは別としてお願いします。

    2006年6月15日 18:03
  • hidegiさん

    http://www.microsoft.com/japan/msdn/thisweek/step7/aspnet/MembershipAndRole/memberandrole3.aspx

    私はこのあたりを参考にしましたがどうでしょうか。

    2006年6月16日 0:33
  • みなさんの助言をもとに、作成していきたいと思います。

    ありがとうございました。

    2006年6月16日 2:40