-1

基本的な Java ログイン サーブレットを作成する方法を示す例がウェブ上に 100 万件あります。この例では、ユーザーはデータベースによって検証されるユーザー名とパスワードを入力する必要があります。ログイン情報が正しい場合は、別のページにリダイレクトされます。

問題は、チュートリアルでは、ユーザーが正しいユーザー名/パスワードを入力したかどうかを確認する方法しか教えていないことです。ユーザーが他のページへの URL を知っていれば、ログイン プロセス全体をスキップできます。ログインサーブレットが実際にログインし、他のページにアクセスする必要があるようにするにはどうすればよいですか?

これは私のログインプロセスが現在どのように見えるかです

if(user.isValid())
        {
            HttpSession session = request.getSession(true);
            session.setAttribute("currentSessionUser",user);
            response.sendRedirect("Unit_Info.jsp");
        }else
            response.sendRedirect("http://google.com"); 
4

3 に答える 3

1

ユーザーからログインの詳細を取得したら、ログインの詳細をセッションに保存し、すべてのページでセッションをテストまたは検証できます...

<%
String strLoginId = (String)session.getAttribute("LoginID");
String strpassword = (String)session.getAttribute("Password");

if(strLoginId==null)  // Means session is not there
%>
<jsp:forward page="Error.jsp" />
于 2013-10-22T09:37:39.707 に答える
1

ユーザーセッションをチェックする RequestFilter を使用できます。

続きを読む :リクエストとレスポンスのフィルタリング

于 2013-10-22T09:32:32.060 に答える
0

ログインが成功したら、session.setAttribute() およびすべてのページで、session.getAttribute() を使用して値を設定できます。値が存在するかどうかを確認します。存在する場合は、ログイン ページに戻ります。

ログインが成功したら、

    session.setAttribute("user","user");

Now eac and every page check
if(session.getAttribute("user")==null)
{
response.sendRedirect("loginpage");

}
else
{

//your codes
}
于 2013-10-22T09:37:26.083 に答える