2013-07-09 1 views
0

내가 읽은 것부터 다음 코드는 먼저 "ArthurDent"에 대한 MembershipUser 레코드가 있는지 확인한 다음 "ArthurDent"를 현재 사용자로 설정하고 마지막으로 MembershipUser 레코드를 변수 mUser에 할당해야합니다.WebPartManager에 현재 사용자를 설정하는 방법은 무엇입니까?

if (Membership.GetUser("ArthurDent") == null) 
{ 
    Membership.CreateUser("ArthurDent", "thisisapassword"); 
} 
FormsAuthentication.SetAuthCookie("ArthurDent", true); 
MembershipUser mUser = Membership.GetUser(); 

대신 변수 mUser가 null로 유지됩니다. '

목표는 프로그래밍 방식으로 현재 사용자를 유효한 레코드로 설정하여 BlogEngine을 웹 사이트에 추가 할 때 오류가 발생한 페이지에 WebPartManager.DisplayMode를 설정할 수있게하는 것입니다.

답변

0

대답은 BlogEngine이 Membership.GetUser()가 검색하는 Page.User.Identity의 정상적인 작동을 적극적으로 억제한다는 것입니다. 내가 BlogEngine에서 다음 코드 ...

Security.AuthenticateUser("ArthurDent", "thisisapassword", true); 

로 FormsAuthentication.SetAuthCookie을 교체하면 ... 그것은 아서을 인증하고 그를 기록. 내가 사용자를 생성 관리했습니다

0

이 문제는 일반적으로 응용 프로그램이 web.config 파일에 정의 된 규칙을 위반할 때 발생합니다. 예를 들어 암호 문자열의 길이가 충분하지 않아 Windows 인증 및 CreateUser를 사용하여 로컬 환경에서 코드를 처음 실행했습니다. 추가 문자로 비밀번호를 채우고 제공된 코드로 사용자를 생성 할 수있었습니다. 섹션에서 암호 전제 조건을 확인하십시오. 첫 번째 검사에서 이것은 구성 문제처럼 보입니다.

+0

. 이 문제를 해결 한 후 mUser 변수가 예상 레코드로 설정됩니까? –