문제

MSDN 코드 샘플 설명 : 다음 코드 예제는 ISAUSTENTICATION 속성을 사용하여 현재 요청이 인증되었는지 여부를 결정합니다. 인증되지 않은 경우 요청은 사용자가 웹 응용 프로그램에 자격 증명을 입력 할 수있는 다른 페이지로 리디렉션됩니다. 이는 응용 프로그램의 기본 페이지에 사용되는 일반적인 기술입니다.

이것은 훌륭하지만 세부 사항이나 아무것도 없습니다 ...

정확히 무엇을 확인하고 있습니까? true로 어떻게 설정합니까?

여분의 마일로 가십시오 : 이것에 대한 자세한 내용은 어디에서 찾을 수 있습니까?

도움이 되었습니까?

해결책

Google 덕분에 Cached 버전의 게시물 @keyboardp가 그의 대답. 원래 링크가 깨 졌기 때문에 (2012-12-06) 이후에 답변/게시물을 다른 사람들을위한 참조로 게시하고 있습니다.

원래 질문 아래 답변은 다음을 의미합니다.

나에게 적합한 양식 기반 응용 프로그램이 있습니다. 나는 issauthenticated 재산이 사실이었던 위치에서 이제는 거짓이었고 예상대로 작동하지 않았다는 것을 알았습니다. 유효하지 않은 설정이 있는지 궁금합니다.

누구든지 issauthenticated 재산을 True로 설정하는 것이 무엇인지 말해 줄 수 있습니까?

Daniel Kent의 답변 :

Request.IsAuthenticated 형식 인증만을위한 것이 아니라 어떤 유형의 인증이 사용되는지에 관계없이 유효합니다 (Windows, Passport, Forms 또는 자체 사용자 정의 체계).

HttpRequest.IsAuthenticated 요청을하는 사용자가 인증 된 경우에도 적용됩니다. 본질적 으로이 속성은 동일한 정보를 제공합니다 Context.User.Identity.IsAuthenticated.

요청이 시작될 때 Context.User.Idenity a GenericIdentity널 사용자 이름으로. 그만큼 IsAuthenticated 이 개체의 속성이 반환됩니다 false 그래서 Request.IsAuthenticated 될거야 false. 인증 모듈이 처리 할 때 Application_AuthenticateRequest 이벤트 및 성공적인 사용자를 인증합니다 GenericIdentity 안에Context.User.Identity 새로운 IIdentity 돌아올 객체 true 그것으로부터 IsAuthenticated 재산. Request.IsAuthenticated 그런 다음 돌아옵니다 true.

양식 인증의 경우 양식 인증 모듈은 인증 쿠키에 포함 된 암호화 된 인증 티켓을 사용하여 사용자를 인증합니다. 이 작업을 수행하면 대체됩니다GenericIdentity 안에 Context.User.Identity a FormsIdentity 반환하는 객체 True 그것으로부터 IsAuthenticated 재산.

그래서 설정 IsAuthenticated 에게 true Jeff가 말했듯이 인증 티켓이 생성되어 쿠키로 클라이언트에게 전송 될 때 인증을 양식 인증에 로그인하는 것이 발생합니다. (RedirectFromLoginPage 또는 SetAuthCookie) 우리가 말하는 것IsAuthenticated 각 페이지 요청에 따라 발생하는 인증입니다. 로깅은 사용자가 자격 증명을 입력하고 티켓을 발행 할 때 발생합니다. 각 요청에 따라 인증이 발생합니다.

다른 팁

Daniel Kent의 자세한 게시물이 있습니다 여기. (단편)

request.isauthenticated는 양식 인증을위한 것이 아닙니다. 어떤 유형의 인증이 사용되는지에 관계없이 유효합니다 (Windows, Passport, Forms 또는 자체 사용자 지정 체계).

요청을하는 사용자가 인증 된 경우 httprequest.isauthenticated는 사실입니다. 본질적 으로이 속성은 context.user.identity.isauthenticated와 동일한 정보를 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top