- PR -

Login の方法について

投稿者投稿内容
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-06-06 13:12
お世話になります。

Loginについて教えてください。
フォームにコントロールを貼り付け見かけ上作ることはできますが、ここからどうすればいいかわかりません。

やってみたこと。
フォーム認証(?だと思う)のためログインコントロールを張り試しにパスワードとIDを適当に入力すると「ユーザー インスタンスのプロセスを起動中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。接続は閉じられます」このメッセージが出る。パスワードのデータベースなどの処理がしていない(?)ためと思うが、その説明を見つけられないのでどうしていいのかわからない。

また、「管理者用 Webサイト」を動かしても、「エラーが発生しました。前のページに戻って、もう一度やり直してください。 」となり進展しない。ググッて見たりこのサイト内で xxxx.sln の#を@に変えたら.....とあった。試したけど変化なし。(実際#印は先頭2,3行で、「# Visual Studio 2005」これのみでした)。この件、あまり情報が見つかりません。

認証のやり方かその説明のあるページを教えてください。管理者用 Webサイトも関連していると思います。エラーの解除の仕方も教えてください。よろしくお願いします。

VS2005 C# ASP.NET
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-06-06 13:39
Webサイト管理ツールを動かすには開発しているマシンにSQL Server Express Editionが正しくインストールされている必要があります。
Webサイト管理ツールを実行することで、ASPNET.MDFというデータベースファイルが自動的に作成されるのですが、それがないことには最初は動かないですね。
そして、管理ツールから適切なセキュリティの設定を行い、またユーザを作成しておかないとLoginコントロールは動かないです。

とりあえず動かすまでの話はMSのサイトにあったはずですが、どこだったっけな。
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-06-06 20:11
お世話になります。

MSのサイトはじめ検索してみましたが見つかりません。
ASPNETDB.MDFとは、つながっているようです。しかしWebサイト管理ツール
は、いまだに動きません。でも、SQLはコントロールやバインドしているコントロールから問題なく読めます。

何を調べればいいでしょうか?教えてください。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-06-09 11:24
http://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/webapp_auth/cs.aspx

とりあえず、このあたりが基本的な動作をさせるための手順を記載してるかな。
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-06-10 15:21
お世話になります。

どっとねっとふぁん様、興味深いページの提示ありがとうございます。
トライしてみましたが、下記のようなエラーでて先に進みません。
「'/' アプリケーションでサーバー エラーが発生しました。」
「ユーザー インスタンスのプロセスを起動中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。接続は閉じられます。」

「Web サイト管理ツール」も動きません。
「エラーが発生しました。前のページに戻って、もう一度やり直してください。」と表示されますが、前のページは、ありません。
どのように対処したらよいか教えてください。お願いします。


「エラーの詳細」全文です。長くてすみません。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.Data.SqlClient.SqlException: ユーザー インスタンスのプロセスを起動中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。接続は閉じられます。
現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。

スタック トレース:

[SqlException (0x80131904): ユーザー インスタンスのプロセスを起動中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。接続は閉じられます。]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800131
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +33
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +172
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +381
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +181
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +173
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +133
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +30
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +494
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +84
System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +197
System.Web.Security.SqlMembershipProvider.CreateUser(String username, String password, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus& status) +3629
System.Web.UI.WebControls.CreateUserWizard.AttemptCreateUser() +305
System.Web.UI.WebControls.CreateUserWizard.OnNextButtonClick(WizardNavigationEventArgs e) +105
System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e) +453
System.Web.UI.WebControls.CreateUserWizard.OnBubbleEvent(Object source, EventArgs e) +149
System.Web.UI.WebControls.WizardChildTable.OnBubbleEvent(Object source, EventArgs args) +17
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +163
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-06-11 11:27
最初の返答にこう書いてます。
「Webサイト管理ツールを動かすには開発しているマシンにSQL Server Express Editionが正しくインストールされている必要があります。 」
この点は確認されましたか?

また、原因や修正方法は確認していないのですが、SQL Server Express Editionをインストールしていても「SQL Server のユーザー インスタンスを生成できませんでした。」というエラーがでるようになったことはあります。
SQL Serverの再インストールでこのエラーが直るかどうか確認していませんが、一度ためしてみてもいいかもしれません。
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-06-11 16:31
お世話になります。

SQLを削除して再インストールしましたが、状況は変わりません。
Web.Config の書き方についてですが、下記のようにしてこのアプリフォルダー内にそれぞれのファイルがあります。
ASPNETDB.MDF aspnetdb_log.ldf Schedule.mdf Schedule_log.LDF
現在、アプリを起動すると「ユーザーの既定データベースを開けません。 ログインに失敗しました。ユーザー 'SL4\SL' はログインできませんでした。ユーザーの既定データベースを開けません。 ログインに失敗しました。ユーザー 'SL4\SL' はログインできませんでした」と初期画面(ログイン)の上部に表示されています。
試しに、ID、パスを入れると「ログインに失敗しました。やり直してください。」と表示します。今までは、アプリケーションのエラー表示でした。少し進んだ?という意味でしょうか?実際、ID、パスワードは、登録されていないので、これはこれでOKかもしれません。
ASP.NET構成で追加をと考えてましたが、いまだに動きません。
表示は、「http://localhost:50230/asp.netwebadminfiles/error.aspx」です。


<appSettings/>
<connectionStrings>
<remove name="localSqlserver"/>
<add name="localSqlServer"
connectionString="Data Source=SL4\SQLEXPRESS;AttachDbFilename=&quot;C:\Program Files\Microsoft Visual Studio 8\MyProjects C#\Holter\Holter\App_Data\ASPNETDB.MDF&quot;;Integrated Security=True"
providerName="System.Data.SqlClient"/>
<add name="ScheduleConnectionString2"
connectionString="Data Source=SL4\\SQLEXPRESS;AttachDbFilename=&quot;C:\\Program Files\\Microsoft Visual Studio 8\\MyProjects C#\\Holter\\Holter\\App_Data\\Schedule.mdf&quot;;Integrated Security=True"
providerName="System.Data.SqlClient"/>

</connectionStrings>
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-06-11 17:18
Webサイト管理ツールは動いたのでしょうか。。。
SQL Serverのユーザインスタンスは正しく生成されて動くようになりましたか?
これが動かない状態で、何をやっても無駄な気がします。

スキルアップ/キャリアアップ(JOB@IT)