- ベストアンサー
JSPファイルでのセッション管理について
はじめまして、こんにちは。JSPファイルについて教えてください。 今AというページとBというページがあります。 AはログインページでBはログインに成功した場合だけ表示されるようになっています。 Bのページをお気に入りにいれてAのページでログインせずに直接Bのページへ飛ぶとセッションで管理されているのかAのページが表示されてBのページがみれません。 これはプログラムで制御されているのでしょうか? AのページとBのページのソースを見ると最初に <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page session="true" %> <%@ page import="AA.properties" %> となっているだけで他はただのHTML言語となっておりました。 Bのページでのセッション管理って <%@ page session="true" %> ここで行われているのでしょうか? それとも<%@ page import="AA.properties" %> のpropertiesっていうところでプログラムが走っているのでしょうか。 分かる方がいれば教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サーブレットやJSPなどのJ2EEの技術で、ログイン認証するときには色々な方法が考えられます。 一番楽でJ2EEの標準といえる方法が、「J2EEのアクセス制限機能」を使用することです。TomcatなどのAPサーバの設定だけで、認証を行わせることができます。 http://www.techscore.com/tech/J2EE/Servlet/10.html 次に考えられるのが、「フィルタ」という機能です。これもプログラムに影響を与えず、アクセス制限よりも柔軟な認証を実現することが可能です。 http://www.techscore.com/tech/J2EE/Servlet/6.html 最後に、eri1235が考えるように、JSP自体に認証ロジックを実装する方法です。 これは全JSPに認証ロジックが必要になるので、あまり使用されません。
その他の回答 (1)
- neuron-x
- ベストアンサー率52% (139/266)
Aページと、Bページの最初に、<%@~%>と3行だけ書かれていて、後が本当にHTMLだけだとすると、ログイン有無を監理しているのはこのJSPたちではありません。(もしJSPにユーザ認証の機能を追加すると、全てのJSPに同じ処理を埋め込む必要があり、あまり行われない方法です) APサーバなどの設定で、JSPの前に、必ず認証系のフィルタを通しているはずです。認証フィルタでは、認証済みの情報がsession内に含まれていればそのまま処理をスルーして、認証が行われていない場合にはログインページに誘導する…という処理を行っているはずです。
お礼
ありがとうございます。 調べたところフィルタをかけているのが分かりました。 まだよくフィルタについては分からないのですが、これから自分なりに調べてみようと思います。
お礼
ありがとうございます。 調べたところフィルタをかけているのが分かりました。 まだよくフィルタについては分からないのですが、これから自分なりに調べてみようと思います。 URLもとても参考になりました。