0

ログインページをコーディングしました。ログイン資格情報が正しい場合、ページを別のページにリダイレクトする必要があります。

ホームページの URL/パスをコピーしてアドレス バーに貼り付けると、読み込まれません。ログインページにリダイレクトする必要があります。

4

4 に答える 4

2

サーバー側の言語を使用してユーザー要求を認証するのが最善です。つまり、Asp.net, PHP, JSPサーバー側のスクリプトを使用できない場合は、HTML5 sessionStorageを使用します。

sessionStorage.setItem("mykey", "Some Value") ;

次に、ログインページにリダイレクトするhome page場合は、認証するキー値を取得します。null or undefined

var value = sessionStorage.mykey;
if(value =='undefined' || value == null || value == undefined)
{
   window.location.href="/login";
}

注: DOM ストレージ (sessionStorage および localStorage) は、FF3.5+、Chrome4+、Safari4+、Opera10.5+、および IE8+ のブラウザーでサポートされています。

于 2012-11-15T06:29:20.127 に答える
1

ログインせずにホームにアクセスしようとしている場合。サーバーはリダイレクト応答を返しているはずです。クライアントからは行われません。

于 2012-11-15T06:07:37.633 に答える
1

この種のタスクは、JavaScript ではなく Java コードで実行することをお勧めします。とにかく解決策のために:

スクリプトレットを使用して、jsp ページでユーザー ID を取得します。

<script>
var user = '<%= request.getUserPrincipal()%>';
            if (user == 'null')
                window.location.href="/login";
</script>

値が null の場合、ユーザーはログインしていません。この場合、window.location.href (javascript) を使用してユーザーをリダイレクトします。

ログインページの URL を自分の URL に置き換えます。

于 2012-11-15T06:07:54.297 に答える
0

セッションを管理する必要があります。一般に、これらすべての種類のセッション管理は、Java や .NET などのサーバー側テクノロジーによって行われます。

JavaScript を使用して行うこともできますが、安全性と信頼性が非常に低くなります。

ログインが成功すると、有効なユーザーであることを示すブール値を格納するだけの 1 つのブラウザー Cookie が作成され、ホームページにリダイレクトされます。ホームページで、ログイン Cookie の値を確認します。その値が有効でない場合は、例外メッセージを表示して、ユーザーを再度ログイン ページにリダイレクトします。

于 2012-11-15T06:17:31.787 に答える