2013-03-15 15 views
0

.net 멤버쉽을 사용하여 SSO 시스템을 만들고 있습니다. 성공적으로 사용자를 인증했지만, 일단 사용자가 로그인하면 사용자가 로그 아웃 한 다음 다시 로그인하려고 시도하면 다음 로그인 시도가 실패합니다 ("로그인 시도가 실패했습니다").처음 시도/성공한 로그인 후에 .net 멤버 자격 인증이 실패합니다.

E.G. 기본 로그인 페이지에서 (.net 로그인 컨트롤 사용) 사용자는 로그인/인증되고 loginstatus.aspx로 리디렉션됩니다. 사용자가 loginstatus.aspx에서 로그 아웃 (.net 로그인 상태 제어 사용) 기본 로그인 페이지로 다시 리디렉션됩니다. 사용자가 동일한 자격 증명으로 다시 로그인하려고하면 인증이 실패합니다.

로컬 디버깅에서 디버깅을 시작하고 중지 할 때마다 문제가 "지워지고"사용자가 다시 한 번만 인증 할 수 있습니다. 나는 같은 결과로 서버에서도 이것을 시도했다. 또한 첫 번째 인증 시도가 실패하면 (잘못된 암호) 사용자는 다음 시도에서 올바른 암호를 사용할 때 로그인 할 수 없습니다.

login.authenticate에서 membership.validateuser를 시도했지만 동일한 문제가 발생했지만 로그인 컨트롤 메서드를 사용자 지정하거나 재정의하지 않습니다.

MySQL MembershipProvider 버전 6.2.3.0을 사용하고 있습니다. 해시 된 암호 및 MySqlMembershipProviders에 대한 몇 가지 문제에 대해 읽었지 만 SHA1을 추가해도 문제가 발생하지 않으며 사용자는 한 번 인증받을 수 있습니다 (MySQL Forms Authentication Hashed password problem).

어떤 문제가 발생했는지 디버깅 할 수있는 팁이 있습니까? 여기

내 Web.config의 샘플입니다 (나는 또한 AutoGenerate를 기계 키를 사용했습니다, 문제는 남아) :

<membership defaultProvider="MySqlMembershipProvider" userIsOnlineTimeWindow="15"> 
     <providers> 
      <clear/> 
      <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" 
     connectionStringName="MySqlMembershipConnection" 
     applicationName="myapp" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="true" 
     passwordFormat="Hashed" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="8" 
     minRequiredNonalphanumericCharacters="2"/> 
     </providers> 
    </membership> 
    <machineKey validationKey="AD45EA85C19163E399E0ACEBC5523A9C740EFFF42154518FCDFA349E415DF51894C2CA25ABF8CF419C9F206DBE4878118D8BE8CF4DAA2E9708E7296B288ED980" 
      decryptionKey="C1ECCEF762BABCC02A44CD50571C2C3EDF6E7E4F7208886ACE157EF22AFCA27A" 
      validation="SHA1" decryption="AES"/> 

답변

0

는 데이터베이스 스키마 터져 뭔가가 있었다 밝혀졌습니다. 나는 mysql connector v 6.5.5.0으로 업데이트했다. 파서는 mysqlroleprovider "missing or incorrect schema"에 대한 에러를 던졌다. 자동으로 스키마를 생성하게하고, 새로운 스키마가 생성되었다. (이번에는 테이블 이름에 대문자가 없음), 그리고 문제가있다. 해결 될 것으로 보인다.

관련 문제