問題タブ [jsessionid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JSESSIONID はどこに保存されますか? (JavaEE)
Java EE Web アプリケーションと Java SE アプレットの 2 つのアプリケーションがあります。JSESSIONID (Web アプリケーションによって作成される) を使用して、アプレットでユーザーを認証したいと考えています。
問題があります - この JSESSIONID を特定のユーザーに関連付ける方法は?
どのユーザーがそのような JSESSIONID で表されているかを (Web サーバー アプリケーション側で) チェックする方法は? アプレットでは、Cookie から読み取ります。次に、この JSESSIONID を POST メッセージとして受け入れる単純なサーブレットを作成します。その後、JSESSIONID が悪い場合は応答に何も書き込みません。JSESSIONID が良い場合 (つまり、誰かを表している場合) はユーザー情報を書き込みます。
誰もこれを行う方法を知っていますか?
cookies - セッション アフィニティのためにハードウェア負荷分散を介して識別されるように Tomcat 7 のセッション ID と値を設定する
私の観点からはIISで簡単に実行できますが、私はTomcatに完全に慣れていないため、Cookieのコンテンツに静的な値を設定する方法がわかりません. はい、セキュリティへの影響を読みましたが、最終的には SSL 経由でアクセスするので心配ありません。さらに、値を変更しないことに関する Servlet 3.0 仕様を読みましたが、それを受け入れます。
IIS では、WebServerSID の任意の設定と値 1001 を使用して、Set-Cookie という名前の HTTP ヘッダーを設定するだけです。
次に、この実サーバーのグループを含むロード バランサー VIP で、値 WebServerSID を VIP レベルで設定し、最初の Web サーバーの Cookie 値を 1001 に設定し、残りのマシンの Cookie 値をサーバー 2 の 1002、サーバー 3 の 1003 に設定します。
これにより、クライアントがブラウザを閉じるまで、Cookie を介してセッション アフィニティが実現されます。
Tomcat 7.0.22 でこれを行うにはどうすればよいですか?
Cookie とその設定方法に関して、Tomcat 6.x と 7.x の間で多くの構成変更が行われていることがわかります。先週の広範な調査の後、次のことを試しました。
web.xml 内: (これにより、Tomcat 7.x での URL 書き換えが無効になります)
<tracking-mode>COOKIE</tracking-mode>
デフォルトの session 要素の下
context.xml: (cookies はデフォルトで true ですが、動作させることができないので明示的でした)
Tomcat 6.x の同等のコマンドが 1 にマージされたように見えるため、sessionCookieName の context.xml に 2 つのエントリがあります。http://tomcat.apache.org/migration-7.html#Tomcat_7.0 を参照してください。 x_configuration_file_differences
エキス:
org.apache.catalina.SESSION_COOKIE_NAME システム プロパティ: これは削除されました。グローバル context.xml (CATALINA_BASE/conf/context.xml 内) の sessionCookieName 属性を構成することによって、同等の効果を得ることができます。org.apache.catalina.SESSION_PARAMETER_NAME システム プロパティ: これは削除されました。グローバル context.xml (CATALINA_BASE/conf/context.xml 内) の sessionCookieName 属性を構成することによって、同等の効果を得ることができます。
これが正しくない場合は、必要な構文を理解していないだけであり、単純に白黒で説明している場所を見つけることができません。
Tomcat 6.x では、次のように設定で Java オプションを使用していました。
私が使用しているアプリケーションには、これらの値が他に設定されていないため、アプリケーションではありません。
これらの設定はすべて、Catalina ベースの context/web/server.xml ファイルにあります。
一日の終わりに、Set-Cookies の下の応答ヘッダーで確認する必要があるのは (Fiddler を使用して見られるように) です。
WebServerSID=1001
いいえ
JSESSIONID=as8sd9787ksjds9d8sdjks89s898
前もって感謝します
よろしく
jsp - MediaWikiとJSPWebサイト間のシングルサインオンを設定する方法
これがそれです:私はJSPを使用し、TomcatにデプロイされたWebサイトを持っています。私が今やりたいのは、ssoシステムでMediaWikiをセットアップすることです。つまり、ユーザーが同じアカウントで最初のサイトとMediaWikiにアクセスできるようにし、一方から他方に移動するときに再度ログインする必要がないようにします。
現在、2つのシステムはLdapシステム(openldapでセットアップ)を使用してアカウントリストを共有しています。JSPに接続する場合、JSESSIONIDパラメーターをCookieに格納し、MediaWikiに接続する場合、wikidb_session、wikidbUserID、およびwikidbUserNameの3つのパラメーターを格納するように見えます。
2つのシステムでセッションCookieを共有するための最良の方法は何ですか?
アレクシス
c# - Internet Explorer - クライアント Java または C# コード経由でセッション Cookie を設定して JSessionID を指定する
私のコードには、IE インスタンスと共有したい JSessionID があります。
IE のインスタンスを起動できますが、ブラウザに JSessionID を指定する必要があります。アプリケーションサーバーはJBoss、WebSphere、またはWebLogicになるため、セッションCookieを介して(サーバーベースのコードではなく、ローカルのJavaまたはC#コードを介して)値を設定するソリューションを探しています。
URLまたはサーバーを介してJSessionIDを設定しても、私のシナリオでは役に立たないことに注意してください。
jquery - JSESSIONIDCookieが拒否/失われました
JESSIONIDCookieのような幽霊に関するちょっとした謎に苦しんでいます。JESSIONIDを使用して、AJAXベースのサイトの状態変更間のセッションを維持しています。これは、デプロイされたサーバーでは正常に機能しますが、外部XMLベースのサーブレットを使用してローカルホストでサイトを実行している場合は機能しません。
HTTPヘッダーツールを使用して、JSESIDCookieが単に設定されていないことを確認できました。
localhost-> external:ログインを試行します
external-> localhost:XMLを返し、JSESIDを使用してSet-Cookieを修正します
localhost-> external:JSESID Cookieなしで次のリクエストを送信します(ただし、他のCookieは送信されます)。
私はいくつかの異なるコンピューター(およびブラウザー)で試しましたが、結果は同じです。ただし、奇妙なことに、ソリューションはモバイルデバイス(PhoneGap + Android / iOs)で機能します。これに基づいて、私もfile://からサイトを実行しようとしましたが、運がありませんでした。
サーブレットはすでにデプロイされているため(Tomcat 6)、残念ながら、その側で変更できるものはほとんどありませんが、収集できる限り、問題がその側にある可能性はほとんどないようです。このスレッドで提案されているように、私も解決策1を試みました。これにより、cookieという名前のJSESIDが設定されますが、コンテンツは「ぎこちない」ものでいっぱいになります。
session-cookies - クレデンシャルが間違っていても、jsessionid cookieによってユーザーがメンバーコンテンツにアクセスできるのはなぜですか?
ですから、問題を引き起こしているのはJSESSIONID cookieのせいであると思いますが、確かではありません。
基本的に、ユーザーはログイン時に特別なトークンを入力する必要があります。しかし、どういうわけか、ユーザーはそのトークンを入力しなくてもプライベート/メンバーページにアクセスできます。
したがって、ユーザーはトークンを差し引いたクレデンシャルを入力すると、エラーがポップアップし、ユーザーはそれを無視します。もちろん、そのエラーがあるので、ユーザーはメンバーページに誘導されません。ただし、ユーザーは特定のメンバーページを手動で入力して、そのページにアクセスできます。
- ユーザーはmysite.com/homeにアクセスします
- ユーザーがユーザー名/パスワードを入力します。トークンはありません->エラーがポップアップします
- ユーザーはエラーポップアップを無視し、mysite.com / member / homeに手動で入力して、それにアクセスします
それはjsessionidだと思います。そのCookieを削除すると、メンバーページへのアクセスも失われます。
何か案は?
redirect - フェイスレットのSEOのための301リダイレクトjsessionidリンク?
GoogleがJSessionIDをほとんど気にしていないことを理解する前に、FaceletsアプリケーションでURLの書き換え(デフォルトのTomcatの動作)を許可しました。まだ知らない人のために、GoogleはSEO(あなたのURLのセッションID)に関してこれを好きではありません、そして私はこれを修正するためにweb.xmlに以下を含めました:
500
問題は、これらのjsession IDを持つ古いリンクを参照しているサイトが原因で、SEOを損なう古いリンクからの多くのエラーがあることです。
更新されたリンクにリダイレクトするページを作成することで、htmlまたはxhtmlサフィックスが付いたページ名のいくつかのエラーを簡単に修正しましたが、セッションIDサフィックスが付いたファイル名を作成できないという問題があります。 Tomcatによって提供されます。
デッドHTMLリンクのリダイレクトは、関連するディレクトリにプレーンな(X)HTMLページを作成し、次のようにメタタグを含めるのと同じくらい簡単です(例)。
- デッドリンクポイント
.../Maven-Setup.xhtml
Maven-Setup.xhtml
参照された場所に置換を作成します- 代わりに私は単に追加します
<meta http-equiv="REFRESH" content="0;url=http://thejarbar.org/views/tutorials/linux/Maven- Setup-Tutorial-for-Linux-with-the-Jar-Bar-and-Yucca-Nel.xhtml"></meta>
セッションIDを持つ古いURLに基づいてリクエストをリダイレクトするにはどうすればよいですか?私は明らかにこれらのリンクを維持することを好みます。なぜなら、それらが私のサイトにトラフィックをもたらすかもしれないし、そうでないかもしれないので、それ故に私がリダイレクトしたい理由です。
更新web.xmlのurl-patternをマッピングして、すべての着信jsessionidリクエストを新しい「nojsession」サイトに転送することを目的として、redirect.jspを作成しました。
これはjsessionidでリクエストを転送していません。私は、redirect.jsp
どちらが正しく転送されるかをテストしました。
更新Baluscの推奨事項と、ここで見つけた別のフィルターに従って、新しいサイトへのリダイレクトに関して機能していないように見えるこれを思いつきました。
jsf - ページへの最初の呼び出しで ;jsessionid=XXX を回避するには? 最初のページがjspの場合に機能します
<iframe></iframe>
iframe の内容が jsf ページであるウェルカム ページ index.jsp を使用するアプリケーションがあります。index.jsp にアクセスすると、最初の get in firebug にすでに Cookie が表示されます。
のページは、<iframe>
この jsessionid を継承しています。BUT: のページに直接アクセスする<iframe/>
と、最初のリクエストで jsessionId が Cookie なしですべての URL に書き換えられます。その後、Cookie が使用されます。これで問題ありません。次の場合: セキュリティ システムにより、URL の書き換えが許可されます。
jboss 4.2.2を実行しています
index.jsp と同じ動作を実現したいと考えています。たとえば、常に Cookie を使用し、http の書き換えを常に回避します。
[編集] baluscの回答のおかげで、私はこれを書きました:
に追加することを忘れないでくださいweb.xml
java - 1 回のセッションを保証するにはどうすればよいですか?
1. 同じユーザー アカウントに対して 2 つの異なる JSESSIONID が存在する、または 2. 1 つのブラウザの 2 つのタブが同じ JSESSIONID を参照する、という状況 を防ぐ必要があります。
助言がありますか?既存のセッションが検出された場合、ユーザーは次のいずれかを実行できます: a) 2 回目の試行を終了する b) 既存のセッションを強制終了し (暗殺者!)、新しいセッションを開始する。
サーバー側のソリューションが優先されます。つまり、ユーザーが JSESSIONID を URL に強制する Cookie をオフにすることに依存したくありません。
java - Javaサーブレット:SessionTrackingModeがURLであるかのようにURLをエンコードするにはどうすればよいですか?
Java サーブレットに基づいて Web アプリケーションを設計し、ユーザーがファイルをアップロードするために swfupload (Flash コンポーネント) を使用します。
問題は、Flash が Cookie をサーバーに送信できないことです。そのため、Flash のコールバック URL にセッション ID を追加する方法が必要です。サーブレット コンテナーで実行できます (メソッド HttpServletResponse.encodeUrl) が、ブラウザーで Cookie が無効になっているか、SessionTrackingModes が URL である場合にのみ機能します。
他の設定から独立して jsessionid でエンコードされた URL を取得する方法はありますか?