サイトの残りの部分にアクセスするにはログインが必要な ASP.NET サイトがあります。ログイン情報はデータベースに保存され、サービスを通じてアクセスされます。
企業は、外部サイトからログインできるようにするよう求めています。ユーザー名とパスワードの入力を受け取り、資格情報を検証し、それらが有効な場合は IRequiredSessionState インターフェイスを使用してセッションに資格情報を保存する汎用ハンドラー (.ashx) をプロジェクトに追加しました。次に、アプリケーションへのエントリ ポイントの URL をクライアントに提供します。
クライアント (jquery を .post() に使用する単純な古い HTML ページ) は、応答を受け取り、この URL にリダイレクトします。
まあ、これはうまく機能しているようで、まさに私が必要としていたものです。ハンドラーとサイトの両方が同じセッションを共有するため、これを行うことで、トークンを生成してクエリ文字列で渡す必要がなくなると考えました。しかし、問題は、Login HTML ページを同僚のコンピュータ (たとえば、アプリケーションのホスティングの外部) に置いてテストを試みたときです。動作しません。セッションは ASHX ハンドラーに正しく追加されますが、エントリ ポイントの Page_Load では、そのセッション値がなくなります。
私がしていることをすることは可能ですか?このようにセッションがすぐに忘れられるのはなぜですか? ログインページからログインしてそこからリダイレクトするのと同じだと思います(同じアプリケーションと同じセッションです..)
ありがとう!