プロが教える店舗&オフィスのセキュリティ対策術

visual web developer 2010 Expressを使用してWeb アプリケーションプロジェクトを作成しています。
環境は以下です。
WEBサーバ:Windows Server 2008 R2 Standard
SQLServer:microsoft SQL SERVER 2008 R2 Express版
IISのバージョン:Version7.5.7600.16385
.NET のバージョン:Microsoft .NET Framework 4
使用ブラウザ:IE,Firefox,Chrome(すべて最新バージョン)
使用言語:VB

ローカルで作成して正常に動作していたWEBアプリケーションを
サーバーにうつして実行してみたのですが,
ランタイムエラーが出てしまいました。

Server Error in '/scripts/×××/×××' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>

指示のとおり,web.configを開いて以下を記述してみましたが

<system.web>
<customErrors mode="Off"/>
</system.web>

今度は
ユーザー 'NT AUTHORITY\ANONYMOUS LOGON' はログインできませんでした。
というエラーが出てしまいます。

原因かと思われる点は,
いままではvisual web developerで「プロジェクト」を編集して作成し,
都度「WEBアプリケーションに変換」してWEBサーバー上にコピーしていたのですが,
今回は別の人から引き継いだのでWEBアプリケーションを直接編集していたことです。
あとは,今回引き継いだあとにajax cotrol toolkitを導入しましたが
このあたりは関係あるのでしょうか。

同フォルダに,htmlファイルを作成してコピーしてみたところ
そちらは正常に表示されました。
また,デモ用にプロジェクトを新規作成して,
同様に仮想ディレクトリを作成し,コピーしてみたところ
正常に表示されました。
なのでサーバーやIISの問題ではないのではないかと思っています。

原因は何が考えられるでしょうか?教えてください。

A 回答 (1件)

VisualStudioで開発している場合、開発用のWebサーバーが使われます。


で、この場合の実行時のユーザーが持つ権限と、実際にIISに配置して実行した場合の実行時のユーザーの権限は異なります。

ログインできない、というメッセージだと一番きになるのはデータベースとの接続に使われるユーザーの権限等がきちんと動くように設定できていないのではないかと思います。

たぶんデータベースをIIS上で正しく動作するようにどのような設定をしないといけないか、きちんと勉強する必要があるかと。
    • good
    • 0
この回答へのお礼

ありがとうございます!
教えていただいたことをヒントにもう一度サーバー等を見直してみました。

>同フォルダに,htmlファイルを作成してコピーしてみたところ
>そちらは正常に表示されました。
>また,デモ用にプロジェクトを新規作成して,
>同様に仮想ディレクトリを作成し,コピーしてみたところ
>正常に表示されました。
>なのでサーバーやIISの問題ではないのではないかと思っています。

というわけでサーバやIISの問題ではないと思いこみ
web.configを見直したところ,
いくつかのSQLDatasourceで,別のサーバを参照してしまってました!!

大変お騒がせしました。
ありがとうございました!

お礼日時:2014/05/16 11:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!