2011-11-26 9 views
2

아래의 정적 ROLES 클래스에 대한 참조를 추가하여 웹 사이트에 가입하는 사람들에게 역할을 할당했습니다. 코드를 테스트하고 JOIN ASP.Net 컨트롤의 버튼을 눌렀을 때 응용 프로그램이 멈추었습니다. 물론, 즉시 문제를 찾기 위해 디버그를 시도했지만 SQL Express ASPNETDB.mdf에 더 이상 액세스 할 수 없습니다. 오류는 아래에 나열되어 있습니다. 미리 감사드립니다. ASPNETDB.mdf에 액세스 할 수 없습니다.

**The code-behind in the Join.aspx file:** 
    public partial class Join : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      MembershipUser loggedIn = Membership.GetUser(); 
      if (loggedIn == null) 
      { 
       return; 
      } 
      else 
      { 
       Session["userName"] = loggedIn.UserName; 
       Roles.AddUserToRole(loggedIn.ToString(), "MEMBER"); 

      } 
     } 

    } 

오류 메시지

: 열 수 없습니다 사용자 기본 데이터베이스. 로그인 실패. 'SFP \ 수잔'사용자가 로그인하지 못했습니다.

웹 구성 :

<?xml version="1.0"?> 

<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 

<configuration> 
    <appSettings> 
     <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" /> 
    </appSettings> 
    <system.webServer> 
     <handlers> 
      <remove name="ChartImageHandler" /> 
      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" 
       path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </handlers> 
    </system.webServer> 
    <system.web> 
     <authorization> 
      <allow roles="ADMIN" /> 
      <allow roles="MEMBER" /> 
      <allow roles="GUEST" /> 
      <allow roles="RESTAURANT" /> 
     </authorization> 
     <roleManager enabled="true" /> 
     <authentication mode="Forms" /> 
     <httpHandlers> 
      <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
       validate="false" /> 
     </httpHandlers> 
     <pages> 
      <controls> 
       <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" 
        assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
      </controls> 
     </pages> 
     <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
    <connectionStrings> 
    <add name="FCGuideEntities" connectionString="metadata=res://*/FCGuide.csdl|res://*/FCGuide.ssdl|res://*/FCGuide.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;attachdbfilename=|DataDirectory|\FCGuide.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration> 

스택 추적

사용자 기본 데이터베이스를 열 수 없습니다. 로그인 실패. 'SFP \ Susan'사용자가 로그인하지 못했습니다. 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.

예외 정보 : System.Data.SqlClient.SqlException : 사용자 기본 데이터베이스를 열 수 없습니다. 로그인 실패. 'SFP \ Susan'사용자가 로그인하지 못했습니다.

소스 오류 :

라인 48 : restCity4.Text featuredList4 = [0] .CITY.CITY_NAME; 줄 49 : 줄 50 : MembershipUser loggedIn = Membership.GetUser(); 라인 51 : 만약 (loggedIn == NULL) 라인 (52) {

원본 파일 : H : \ FCGuide \ FCGuide \ 선하여 default.aspx.cs 50

스택 추적 :

[SqlException (0x80131904) : 사용자 기본 데이터베이스를 열 수 없습니다. 로그인 실패. 로그인 사용자 SFP \ 수잔 '.] System.Data.SqlClient.SqlInternalConnection.OnError (SQLEXCEPTION 예외, 부울 breakConnection) 5064474 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234 System.Data 실패했습니다. SqlClient.TdsParser.Run (runBehavior runBehavior, SqlCommand를 cmdHandler, SqlDataReader의 데이터 스트림, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 2,275 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin (부울 enlistOK) +35 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo serverInfo, String newPassword, 부울 ignoreSniOpenTimeout, TimeoutTimer 시간 제한, SqlConnection 소유 객체) +183 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (ServerInfo serverInfo, String newPassword 부울 redirectedUserInstance,도록 SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer 시간 초과) 239 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (도록 SqlConnection owningObject, TimeoutTimer 시간 제한 SqlConnectionString connectionOptions 문자열 NEWPASSWORD 부울 redirectedUserInstance) 195 의 System.Data.SQLClient. +232 System.Data.SqlClient.SqlConnectionFactory.CreateConnection (DbConnectionOptions 옵션, 개체 poolGroupProviderInfo, DbConnectionPool 풀, DbConnection owningConnection) +185 SqlInternalConnectionTds ..ctor (DbConnectionPoolIdentity ID, SqlConnectionString connectionOptions, 개체 providerInfo, 문자열 newPassword, SqlConnection owningObject, 부울 redirectedUserInstance) 시스템.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (DbConnection owningConnection, DbConnectionPool 수영장, DbConnectionOptions 옵션) +33 System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject) 524 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject) + 66 System.Data.ProviderBase.DbConnectionPool.GetConnection (DbConnection owningObject) 479 System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection) 108 System.Data.ProviderBase.DbConnectionClosed.OpenConnection (DbConnection outerConnection, DbConnectionFactory ConnectionFactory에) +126 System.Data.SqlClient.SqlConnection.Open() +125 System.Web.DataAccess.SqlConnectionHolder.Open (HttpContext context, Boolean revertImpe rsonate) +95 GetConnection (String connectionString, Boolean revertImpersonation) +206 GetUser (문자열 사용자 이름, 부울 userIsOnline) +1169 System.Web.Security.Membership .GetUser (문자열 사용자 이름, 부울 userIsOnline) +63 System.Web.Security.Membership.GetUser() +19 H : \ FCGuide \ FCGuide \ default.aspx의 FCGuide._default.Page_Load (개체 보낸 사람, EventArgs e) cs : 50 System.Web.Util.CalliHelper.EventArgFunctionCaller (intPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) +35 시스템입니다. Web.UI.Control.OnLoad (EventArgs e) +91 System.Web.UI.Control.LoadRecursi 했습니다() 74 System.Web.UI.Page.ProcessRequestMain (부울 includeStagesBeforeAsyncPoint, 부울 includeStagesAfterAsyncPoint) 2207

+0

서버 탐색기에서 데이터베이스를 추가하여 연결 했습니까? – coder

+0

예, 서버 탐색기에서 DB를 열고 테이블과 그 내용을 볼 수 있습니다. – Susan

+0

이 오류를 해결할 수 있습니다. http://social.msdn.microsoft.com/forums/en-US/sqlsecurity/thread/b32c862a-799c-43c4-a731-c4811078c8bd/ – coder

답변

0

확인 사용자의 기본 데이터베이스에 액세스하고 데이터베이스에 로그인의 사용자가있는 경우. SSMS에서 기본 데이터베이스를 확인할 수 있습니다.

+0

저는 2 개의 SQL Express DB를 가지고 있습니다 ... 하나는 내 애플리케이션 용이고 다른 하나는 멤버쉽 공급자 (ASPNETDB.mdf)입니다. SSMS를 열면 aspnetdb.mdf db를보고 테이블을 볼 수 있습니다. 내가 두 가지를 가지고 있기 때문에 당신이 '기본'데이터베이스 란 무엇을 의미하는지 모르시겠습니까 ??? – Susan

+0

'보안 '->'로그인'->'수잔'->'속성'->'기본 데이터베이스'로 이동하십시오. – MagnatLU

+0

SSMS에서 DB 퍼미션을 볼 때 유일한 권한은 'SQL 연결'이고 양도인은 'sa'입니다 .... 누구든간에. – Susan

0

SQL2008이 있었기 때문에 열 수 없었습니다. 데이터베이스 ASPNETDB.MDF은 실제로는 SQL2008-R2에서 열었습니다. R2에서 열었고, 거기서 계속되었습니다.

관련 문제