Windows 認証 Web アプリで、突然認証ダイアログが出るようになる問題について

こんにちは d99 です。 弊社の会計年度は7月始まりなので、実は今日から新年度です。今年もよろしくお願いします。前回予告したように、今回も最近お問い合わせの多い事例について取り上げます。 現象は、Windows Server 2008 R2 (Windows 7) 上で動作している、Windows 認証を使用した Web アプリケーションで、今まで問題なく動作していたにも関わらず、急に認証ダイアログが表示されるようになる、というものです。 認証ダイアログが表示される原因は多岐にわたるため確認すべき内容が多く、一般的には調査に時間がかかる事で知られています。しかし、Windows Server 2008 R2 では、下記の既知の不具合があり、これによって突然認証ダイアログが表示される現象が発生します。この不具合は 2011 年 8 月に公開されましたが、昨今、世界的にお問い合わせが増加しています。 Users cannot access an IIS-hosted website after the computer password for the server is changed in Windows 7 or in Windows Server 2008 R2 http://support.microsoft.com/kb/2545850/en-us 現象の特徴 この現象をクライアント側から見てみましょう。 この現象はクライアントで認証ダイアログが表示される現象として表面化します。さらに、表示された認証ダイアログに正しいアカウント情報を入力しても、認証が通らないということが挙げられます。たとえドメイン管理者のアカウント情報を入力したとしても、認証は通りません。 次に、サーバー側から見てみましょう。 まず、IIS7.5 であることが条件です。IIS 7.5…


日本語ファイル名ダウンロード文字化け問題その後

こんにちは d99 です。 続編リクエストなども頂戴しておりまして、ありがとうございます。頑張ります。が、今日はまず標題の件について書かせてください。 以前より多くの方々にご参照頂いている以下のサポート技術情報を更新しました (ちょっとタイトルも変えました)。 ファイルをダウンロードする ASP.NET ページで日本語ファイル名が文字化けする http://support.microsoft.com/kb/436616/ 元々、この文書には 「RFC2231 に従うべきですが、今の Internet Explorer はサポートしていません」 というやや過激な文言が入っておりました。その文言を書いたのは実は私だったのですが、そこには長い闘いの歴史があり、その結果 IE 自体を直接担当していない私が書いた文章(もちろん担当のレビューは受けているのですが。。。)が各所で引用され 「IE ダメ ワロスwww」 みたいなコメントが付けられていたのが、いつもとても気がかりでした。 しかし、遂に IE9 で RFC5987/2231 のサポートが追加されました。 Downloads and International Filenames http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx IE9 RC Minor Changes List http://blogs.msdn.com/b/ieinternals/archive/2011/02/11/ie9-release-candidate-minor-changes-list.aspx そこでサポート技術情報を更新したという次第です。 ただ、その後の情勢も変わってきており、また、未だ RFC5987/2231 をサポートしていないブラウザもあるようですので、ASP.NET を担当している身としては 「実際問題、現実的に動く ASP.NET サーバーサイドコードは何なんだ!?」 という視点も盛り込みたいと思い、RFC5987/2231 には沿っていないのですがベタ Shift-JIS でファイルをダウンロードさせるサンプルコードも追加してみました。 まだまだ勉強不足の点もあるかと思いますし、ご意見ご要望など是非コメント等々にてお聞かせください。 ではまた。 d99 でした。


ASP.NET と SQL Azure について

こんにちは d99 です。 PDC で Azure のハナシが出て盛り上がっているようですね。 そういえば、つい先日以下のサポート技術情報がリリースされました。 Updated ASP.net scripts for use with Microsoft SQL Azure http://support.microsoft.com/kb/2006191 こちらは、ASP.NET の各種機能 (メンバーシップ、パーソナライズ、プロファイル、ロール、ヘルスモニリング) を、SQL Azure 相手に使う方法について、です。 これらの機能を使用する場合には aspnet_regsql.exe コマンドを使用しますが、このコマンドで実行される SQL スクリプトが SQL Azure  相手だと通らないため、新しいものをご用意した、という内容になります。 なお、sessionState については SQL Azure にストアする事は not support となりますのでご注意ください。SQL Azure にセッションを格納すると、セッションが Expire しなくなっちゃうのですが、逆にそれがいいという方は自己責任でご検討頂ければ、と 🙂 ではまた。 d99 でした。