2009-07-01 4 views
1

aspnetdb 데이터베이스 내에서 aspnet_Membership_ResetPassword이라는 aspnet 멤버쉽 ResetPassword 저장 프로 시저를 호출하려고합니다.aspnet 멤버쉽 ResetPassword 저장 프로 시저 호출

SqlMembershipProvider 클래스를 보면 ResetPassword 메서드가 있지만이 메서드는 저장 프로 시저에서 할 수있는 것처럼 PasswordFormat 매개 변수를 전달할 수 없으므로 유용하지 않습니다.

누구나 C#에서 aspx 페이지의 codebehind에서이 저장 프로 시저를 명시 적으로 호출 할 수 있다고 조언 할 수 있습니까?

답변

2

당신은 같은과 changepassword 방법을 사용하는 것이 더 좋을 것입니다 암호를 저장하기 위해 암호화 모드를 사용하는 경우 다음

_MembershipUser.ChangePassword(_MembershipUser.GetPassword(),"[email protected]"); 
0

PasswordFormat는 ASP 데이터베이스에 암호를 저장할지 여부를 나타내는 플래그입니다 해싱 된 텍스트, 암호화 된 텍스트 또는 일반 텍스트 중 하나로 표시됩니다. 이것은 일반적으로 한 번만 지정됩니다 (web.config에서).

passwordFormat="Hashed" 
아래와 같이 그것은의 Web.config의 구성 섹션의 회원 하위 섹션에서 확인할 수 있습니다

...

<membership> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlMembershipProvider" 
     type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     connectionStringName="LocalSqlServer" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="true" 
     passwordFormat="Hashed" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     passwordStrengthRegularExpression="" 
     applicationName="/" 
      /> 
    </providers> 
</membership> 

앞서 언급 한 바와 같이, 그냥과 changepassword 방법을 사용하고, PasswordFormat 설정은 web.config에서 자동으로 가져옵니다.

관련 문제