2010-05-19 3 views
0

WCF RIA 서비스를 사용하여 Silverlight 3 응용 프로그램을 개발 중입니다. 인증을 처리하기 위해 AuthenticationBase 클래스를 사용하고 있습니다. 나는 이것이 ASP .NET 인증 라이브러리를 사용한다는 것을 이해한다.Silverlight에 Store State를 저장하는 방법 WCF RIA Services

인증 서비스는 로그인 상태를 처리하므로 사이트를 닫고 곧바로 열면 서버에 따라 계속 로그인됩니다. 웹 페이지 새로 고침 또는 폐쇄하고 다시로드 할 때 나는

방법,

WebContextBase.Current.Authentication.LoadUser()를 호출 할 수 있습니다 그리고 그것은 여부를 인증 서비스 (서버에서 실행)와 수치로 돌아갑니다 아직 사이트에 로그인되어 있습니다. 시간 초과가 발생하면 대답은 '아니오'가됩니다. 이 경우 로그인 대화 상자를 표시 할 수 있습니다.

내가 해결하고 싶은 문제는 인증 서비스가 암호를 사용한다는 것이며 그 암호를 다시 검색 할 수있는 방법이 없다는 것입니다.

사용자가 사이트에 로그인하면 서버에 암호를 저장하고 클라이언트 측에 토큰을 반환하여 해당 암호와 일치시킵니다. 나는 그 암호가 필요한 서버 측에 다른 서비스를 가지고있다.

그렇다면 암호를 서버에 어디에 저장해야합니까? 어떻게 할 수 있습니까? WCF 인증 저장소는 어떤 상태입니까?

+0

예를 들어 정적 클래스를 구현할 수 있습니까? 이것은 내가 시도한 것이며 작동하는 것처럼 보입니다. 한 번에 둘 이상의 클라이언트가 데이터를 변경할 수 없도록 잠금을 사용해야합니다. – peter

답변

1

조금 확장 할 수 있습니까? 왜 인증되지 않은 사용자의 비밀번호를 검색하려고합니까?

격리 된 저장소를 사용하여 세부 정보를 저장할 수는 있지만 일반적으로 암호 저장 방법은 전체 지점을 무효로하지는 않습니까?

+0

이들은 인증되지 않은 사용자가 아닙니다. 그들은 이미 인증을 받았으며 세션은 20 분 동안 열려 있어야합니다. 그것은 마치 'logout'링크를 치지 않고 gmail을 종료하고 똑바로 다시 로그인하면 로그인하지 않아도되는 것과 같습니다. 그것은 시간이 지나면 만료됩니다. – peter

+0

이것이 표준 ASP .NET 페이지의 작동 방식입니다. 사용자는 20 분 동안 인증 상태를 유지합니다. – peter

+0

또한 클라이언트로 전달되는 토큰은 쿠키에 저장되며 20 분 후에 만료됩니다. – peter

관련 문제