1

私は次のURLのポータルアプリケーションを持っていますhttps://pv.xxxxx.org/Y/Students.aspx、少なくともそれは私のPC上の私のWebブラウザのいずれかでどのように表示されるかです。Kindle Fire HD(シルク)またはiPhone(クローム)では、次のように表示されます

https://pv.xxxxx.org/(F(gXjx4o3HVBTt2dUj-0_fg8JrTaBqvjZUE7WjynRNoYUKpUo3YFpP6KD92KXl6XSeJE633w9eetXNHJhE_bXBrMe8wcd9FKivh16Ibrz4a06dZd4UAxyHTxK2euBM8gRlqzEmgLnQmy830rW2UtMwfmuNJQVwsvyz72EaLNgTkf01))/Y/Students.aspx

Webフォームアプリケーションのリンクをクリックするとすぐに、システムはログアウトします。私はかなり重いエラー処理をシステムにコーディングしたので、何か問題が発生しても何も得られない場合は、電子メールとログがデータベースとイベントログに送信されます。問題は(アクセスできる)2つのモバイルデバイスでのみ発生し、デバッガーを実行できないため、再現できません。

iPhoneのSafariのURLに悪い影響を与えないその他の情報。私はクエリ文字列を使用して変数を渡しますが、アプリケーションを最初にロードするときは使用しません。これは、エンドユーザー(この場合は私)が認証され、ランディングページに表示された後です。

だから私の質問は、なぜそれが変更されているのですか、それを停止させることができますか、そうでない場合はどうすれば修正できますか?私はグーグルによる解決策は言うまでもなく、問題についての言及を見つけるのに苦労してきました。

4

1 に答える 1

0

ポータルアプリケーションはasp.net4.0を実行していますが、Windows 2003サーバーを実行しているため、4.5に到達できず、インストールできません。したがって、この問題は、4.5以降を実行している人には関係ありません。上記のブラウザでは、フォームベースの認証を取得し、Cookieなしモードに設定しています。確かなことはわかりませんが、クエリ文字列への追加は認証トークンだと思います。

エンドユーザーがCookieの設定をいじる必要がないように問題を修正するために、次のコードでweb.configを更新しました。

<authentication mode="Forms" >
  <forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies" />
</authentication>

そのコードスニペットの主要なコンポーネントは次のとおりです。

cookieless="UseCookies"

Web.Configを更新すると、クエリ文字列への追加がなくなり、chromeの開発者ツールを使用して.aspxauth認証トークンの作成を確認できました。

完全を期すために説明を追加しました。ここで答えを見つけました。

iOSのGoogleChromeブラウザを使用したASPNETサイトのFormsAuthentication

スコット・ハンゼルマンさん、ありがとうございました。

于 2013-04-04T20:02:30.323 に答える