programing

요청 방법.인증된 작업입니까?

closeapi 2023. 9. 28. 08:25
반응형

요청 방법.인증된 작업입니까?

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

대단하긴 한데 세부사항 같은 건 없어요

정확히 무엇을 확인하고 있습니까?어떻게 사실로 설정할 수 있습니까?

더 멀리 가보세요.이에 대한 자세한 설명서는 어디서 찾을 수 있습니까?

구글 덕분에 @keyboardP가 자신의 답변에서 언급하는 게시물의 캐시 버전을 찾았습니다.원래 링크가 끊어져서 다른 분들께 참고로 답변/게시글을 올립니다(2012-12-06).

아래 답이 가리키는 원래 질문:

저에게 적합한 양식 기반 애플리케이션이 있습니다.IsAuthenticated 속성이 True인 위치에서 이 속성이 거짓이며 예상대로 작동하지 않는다는 것을 알게 되었습니다.잘못된 설정이 있는지 궁금합니다.

IsAuthenticated 속성을 True로 설정하는 방법, 즉 로그인을 구성하는 방법을 알려줄 수 있는 사람이 있습니까?

Daniel Kent의 답변:

Request.IsAuthenticated양식 인증만을 위한 것이 아닙니다. 사용 중인 인증 유형에 상관없이 유효합니다(Windows, Passport, Forms 또는 자체 사용자 지정 방식).

HttpRequest.IsAuthenticated요청하는 사용자가 인증되면 true가 됩니다.본질적으로, 이 부동산은 다음과 같은 정보를 제공합니다.Context.User.Identity.IsAuthenticated.

요청을 시작할 때,Context.User.Idenity가 들어있습니다.GenericIdentity사용자 이름이 null이고.IsAuthenticated이 개체의 속성이 반환됩니다.false그렇게Request.IsAuthenticated될 것이다false. 인증 모듈이 다음을 처리할 때Application_AuthenticateRequest이벤트 및 성공적으로 사용자를 인증합니다.GenericIdentity인에Context.User.Identity새것으로IIdentity되돌아올 대상true그것으로 부터IsAuthenticated소유물.Request.IsAuthenticated그 다음에 돌아올 것입니다.true.

양식 인증의 경우 양식 인증 모듈은 인증 쿠키에 포함된 암호화된 인증 티켓을 사용하여 사용자를 인증합니다.이 작업을 완료하면 다음 작업을 대체할 수 있습니다.GenericIdentity인에Context.User.Identity와 함께FormsIdentity:tTrue그것으로 부터IsAuthenticated소유물.

를 설정합니다.IsAuthenticated.true로그인하는 것과는 다릅니다.Jeff의 말처럼, 폼 인증에 로그인하는 것은 인증 티켓이 생성되어 쿠키로 클라이언트에 전송될 때 발생합니다. (RedirectFromLoginPage아니면SetAuthCookie와) IsAuthenticated는 각 페이지 요청 시 발생하는 인증입니다.로그인은 사용자가 자격 증명을 입력하고 티켓을 발급받을 때 발생하며, 인증은 각 요청에 따라 발생합니다.

여기 다니엘 켄트의 글이 꽤 상세하게 올라와 있습니다. (스니펫)

부탁한다.IsAuthenticated는 단순히 양식 인증만을 위한 것이 아닙니다. 이는 사용 중인 인증 유형(Windows, Passport, Forms 또는 자체 사용자 지정 방식)에 상관없이 유효합니다.

HttpRequest.IsAuthenticated는 요청하는 사용자가 인증되면 true가 됩니다.기본적으로 이 속성은 컨텍스트와 동일한 정보를 제공합니다.사용자. 아이덴티티.인증되었습니다.

HttpRequest IsAuthenticated 압축 해제 중, 다음과 같습니다.

    public bool IsAuthenticated {
        get {
            return(_context.User != null
                    && _context.User.Identity != null
                    && _context.User.Identity.IsAuthenticated);
        }
    }

line 1373 https://referencesource.microsoft.com/ #system.web/HttpRequest.cs

언급URL : https://stackoverflow.com/questions/2201238/how-does-request-isauthenticated-work

반응형