로컬 인증, 등록 및 기타 설정

중요

Power Pages 사이트에서 인증을 위해 Azure AD B2C ID 공급자를 사용하고 로컬 ID 공급자를 사용하지 않는 것이 좋습니다.

Power Pages은 ASP.NET ID API에 구축된 인증 기능을 제공합니다. ASP.NET ID는 역시 인증 시스템의 중요한 구성 요소인 OWIN 프레임워크에 구축되어 있습니다. Power Pages는 다음과 같은 서비스를 제공합니다.

  • 로컬(사용자 이름/암호) 인증
  • 타사 ID 공급자를 통한 외부(소셜 공급자) 인증
  • 전자 메일 주소를 통한 2단계 인증
  • 전자 메일 주소 확인
  • 암호 복구
  • 사전 생성된 연락처 레코드를 등록하기 위한 초대 코드 등록

노트

Mobile Phone Confirmed연락처 레코드의 열은 Adxstudio Portals에서 업그레이드할 때를 제외하고는 사용되지 않습니다.

요구 사항

Power Pages에는 다음이 필요합니다.

  • 포털 기반
  • Microsoft ID
  • Microsoft ID 워크플로 솔루션 패키지

인증 및 등록

사이트 방문자는 로컬 사용자 자격 증명 또는 외부 ID 공급자 계정을 사용하여 인증할 수 있습니다. 새 방문자는 사용자 이름 및 암호를 제공함으로써 또는 외부 공급자를 통해 로그인함으로써 사용자 계정을 등록할 수 있습니다. 사이트 관리자로부터 초대 코드를 받은 방문자는 새 사용자 계정을 위한 가입 과정에서 코드를 등록할 수 있습니다.

관련된 사이트 설정값:

  • Authentication/Registration/Enabled
  • Authentication/Registration/LocalLoginEnabled
  • Authentication/Registration/ExternalLoginEnabled
  • Authentication/Registration/OpenRegistrationEnabled
  • Authentication/Registration/InvitationEnabled
  • Authentication/Registration/RememberMeEnabled
  • Authentication/Registration/ResetPasswordEnabled

암호 재설정

등록할 때 이메일 주소를 제공한 재방문자는 자신의 이메일 계정으로 전송될 암호 재설정 토큰을 요청할 수 있습니다. 재설정 토큰 담당자는 토큰을 사용하여 새 암호를 선택할 수 있습니다. 토큰을 포기하면 사용자의 원래 암호가 변경되지 않고 유지될 수 있습니다.

관련된 사이트 설정값:

  • Authentication/Registration/ResetPasswordEnabled
  • Authentication/Registration/ResetPasswordRequiresConfirmedEmail

관련 프로세스: 재설정된 암호를 연락처에 발송

  1. 방문자는 이메일 주소를 제공합니다.
  2. 프로세스를 시작하려면 이메일 주소를 제출하십시오.
  3. 방문자에게 전자 메일을 확인하라는 메시지를 표시합니다.
  4. 방문자는 지침이 있는 암호 재설정 전자 메일을 받습니다.
  5. 방문자는 재설정 양식으로 돌아가서 새 암호를 선택합니다.
  6. 암호 재설정이 완료됩니다.

초대 회수

초대 코드를 사용하면 등록 방문자가 그 방문자를 위해 미리 특별히 준비된 기존 연락처 레코드에 연계될 수 있습니다. 일반적으로 초대 코드는 이메일로 전송됩니다. 일반 코드 제출 양식을 사용하여 다른 채널을 통해 코드를 보낼 수 있습니다. 방문자가 유효한 초대 코드를 제출하면 일반 사용자 등록 프로세스에서 새 사용자 계정을 설정합니다.

관련된 사이트 설정값: Authentication/Registration/InvitationEnabled

관련 프로세스: 초대장 발송

사이트에서 초대 페이지를 사용할 수 있는 URL을 포함하도록 초대 이메일을 사용자 지정하십시오.

  1. 새 연락처를 위한 초대장 만들기.
  2. 초대장 사용자 지정 및 저장.
  3. 초대 전자 메일 사용자 지정.
  4. 초대장 보내기 워크플로를 처리합니다.
  5. 초대 전자 메일은 회수 페이지를 엽니다.
  6. 사용자는 가입을 위해 초대 코드를 제출합니다.

등록이 비활성화됨

사용자가 초대를 사용한 후 등록이 비활성화된 경우 다음 콘텐츠 조각을 사용하여 Account/Register/RegistrationDisabledMessage 메시지를 표시합니다

프로필 페이지를 통한 사용자 계정 관리

인증된 사용자는 프로필 페이지의 보안 옵션을 통해 사용자 계정을 관리합니다. 사용자는 등록할 때 선택한 단일 로컬 계정 또는 단일 외부 계정으로 제한되지 않습니다. 외부 계정을 가진 사용자는 사용자 이름과 암호를 제공하여 로컬 계정을 생성하기로 선택할 수 있습니다. 로컬 계정으로 시작한 사용자는 여러 외부 ID를 해당 계정과 연결하도록 선택할 수 있습니다. 또한 프로필 페이지는 사용자가 확인 이메일이 자신의 이메일 계정으로 발송되도록 요청함으로써 자신의 이메일 주소를 확인하도록 안내되는 곳입니다.

관련된 사이트 설정값:

  • Authentication/Registration/LocalLoginEnabled
  • Authentication/Registration/ExternalLoginEnabled
  • Authentication/Registration/TwoFactorEnabled

암호 설정 또는 변경

로컬 계정이 있는 사용자는 원래 암호를 제공하여 새 암호를 선택할 수 있습니다. 로컬 계정이 없는 사용자는 사용자 이름과 암호를 선택하여 새 로컬 계정을 설정할 수 있습니다. 설정된 후에는 사용자 이름을 변경할 수 없습니다.

관련된 사이트 설정값: Authentication/Registration/LocalLoginEnabled

관련 프로세스:

  • 사용자 이름과 암호 만들기
  • 암호 변경

이러한 작업 흐름은 포털 관리 앱을 사용하여 호출된 경우에만 작동합니다. 이는 예정된 작업 흐름 사용 중단의 영향을 받지 않습니다.

전자 메일 주소 확인

이메일 주소를 변경하거나 처음으로 설정하면 미확인으로 표시됩니다. 사용자는 확인 이메일을 새 이메일 주소로 보내달라고 요청할 수 있습니다. 이메일에는 이메일 확인 프로세스를 완료하기 위한 지침이 포함되어 있습니다.

관련 프로세스: 연락처에 전자 메일 확인 발송

  1. 사용자가 확인되지 않은 새 이메일 주소를 제출합니다.
  2. 사용자는 이메일에서 확인 메시지를 확인합니다.
  3. 연락처에 이메일 확인 전송 워크플로를 처리합니다.
  4. 사용자가 확인 링크를 선택하여 확인 프로세스를 완료합니다.

연락처에 기본 이메일 주소가 지정되어 있는지 확인하십시오. 확인 이메일은 연락처 레코드의 보조(emailaddress2) 또는 대체(emailaddress3) 주소가 아닌 기본 이메일 주소(emailaddress1)로만 전송됩니다.

2단계 인증 활성화

2단계 인증은 표준 로컬 또는 외부 계정 인증 외에 확인된 이메일 주소의 소유권 증명을 요구하여 사용자 계정 보안을 강화합니다. 사용자가 2단계 인증이 활성화된 계정에 로그인하려고 하면 계정과 연결된 확인된 이메일 주소로 보안 코드가 전송됩니다. 사용자는 로그인 프로세스를 완료하기 위해 보안 코드를 입력해야 합니다. 사용자는 다음에 동일한 브라우저를 사용하여 로그인할 때 보안 코드가 필요하지 않도록 확인을 성공적으로 통과한 브라우저를 사이트에서 기억하도록 선택할 수 있습니다. 각 사용자 계정은 이 기능을 개별적으로 활성화하여 확인된 이메일 주소를 요구합니다.

경고

레거시 기능을 활성화하기 위해 Authentication/Registration/MobilePhoneEnabled 사이트 설정을 만들고 활성화하면 오류가 발생합니다. 이 사이트 설정은 기본적으로 제공되지 않으며 Power Pages에서 지원되지 않습니다.

관련된 사이트 설정값:

  • Authentication/Registration/TwoFactorEnabled
  • Authentication/Registration/RememberBrowserEnabled

관련 프로세스: 연락처에 2단계 코드 이메일 발송

  1. 방문자는 보안 코드를 이메일로 수신하도록 선택합니다.
  2. 방문자는 보안 코드가 포함된 이메일을 기다립니다.
  3. 방문자는 보안 코드를 입력합니다.
  4. 연락처에 2단계 코드 이메일 전송 워크플로를 처리합니다.
  5. 방문자는 2단계 인증을 비활성화할 수 있습니다.

외부 계정 관리

인증된 사용자는 여러 외부 ID를 구성한 각 ID 공급자 중 하나의 사용자 계정에 연결 또는 등록할 수 있습니다. ID가 연결되면 사용자는 그 중 하나를 사용하여 로그인하도록 선택할 수 있습니다. 또한 한 개의 외부 또는 로컬 ID가 유지되는 한 ID들을 연결 해제할 수 있습니다.

관련된 사이트 설정값: Authentication/Registration/ExternalLoginEnabled

관련 프로세스: ID 연결

  1. 방문자는 사용자 계정에 연결할 공급자를 선택합니다.
  2. 방문자는 연결된 공급자를 사용하여 로그인합니다.

공급자의 연결을 해제할 수도 있습니다.

ASP.NET ID 인증 활성화

다음 테이블에서 다양한 인증 기능 및 동작을 활성화 및 비활성화하기 위한 설정에 대해 설명합니다.

사이트 설정 이름 설명
Authentication/Registration/LocalLoginEnabled 사용자 이름 또는 이메일 주소 및 암호에 기반한 로컬 계정 로그인을 활성화 또는 비활성화합니다. 기본값: True
Authentication/Registration/LocalLoginByEmail 사용자 이름 대신 이메일 주소를 사용하여 로컬 계정 로그인을 활성화하거나 비활성화합니다. 기본값: False
Authentication/Registration/ExternalLoginEnabled 외부 계정 로그인 및 등록을 활성화 또는 비활성화합니다. 기본값: True
Authentication/Registration/RememberMeEnabled 웹 브라우저가 닫힌 경우에도 인증된 세션을 유지할 수 있도록 하려면 로컬 로그인에서 저장? 확인란을 선택하거나 선택 취소합니다. 기본값: True
Authentication/Registration/TwoFactorEnabled 2단계 인증을 활성화 또는 비활성화합니다. 확인된 이메일 주소를 가진 사용자는 2단계 인증의 추가된 보안을 선택할 수 있습니다. 기본값: False
Authentication/Registration/RememberBrowserEnabled 현재 브라우저에 대한 두 번째 요소 유효성 검사를 유지하려면 두 번째 요소 유효성 검사(이메일 코드)에서 브라우저 기억 확인란을 선택하거나 선택 취소합니다. 사용자는 동일한 브라우저를 사용하는 후속 로그인에 대해 두 번째 요소 유효성 검사를 통과할 필요가 없습니다. 기본값: True
Authentication/Registration/ResetPasswordEnabled 암호 재설정 기능을 활성화 또는 비활성화합니다. 기본값: True
Authentication/Registration/ResetPasswordRequiresConfirmedEmail 확인된 전자 메일 주소를 위해서만 암호 재설정을 활성화 또는 비활성화합니다. 활성화된 경우, 미확인된 전자 메일 주소를 사용하여 암호 재설정 요청을 보낼 수 없습니다. 기본값: False
Authentication/Registration/TriggerLockoutOnFailedPassword 암호 시도 실패의 기록을 활성화 또는 비활성화합니다. 비활성화된 경우 사용자 계정이 잠기지 않습니다. 기본값: True
Authentication/Registration/IsDemoMode 개발 또는 데모 환경에서만 사용할 데모 모드 플래그를 활성화하거나 비활성화합니다. 프로덕션 환경에서 이 설정을 활성화하지 마십시오. 또한 데모 모드에서는 웹 브라우저가 웹 응용 프로그램 서버에 로컬로 실행되어야 합니다. 데모 모드가 활성화된 경우, 빠른 액세스를 위해 암호 재설정 코드 및 2단계 코드가 사용자에게 표시됩니다. 기본값: False
Authentication/Registration/LoginButtonAuthenticationType 사이트에서 모든 인증을 처리하기 위해 단일 외부 ID 공급자가 필요한 경우 이 설정을 사용하면 로그인 버튼을 사용하여 중간 로컬 로그인 양식 및 ID 공급자 선택 페이지 대신 공급자의 로그인 페이지에 직접 연결할 수 있습니다. 이 작업을 위해서는 하나의 ID 공급자만 선택될 수 있습니다. 공급자의 AuthenticationType을 지정하십시오.
- Azure AD B2C 같은 OpenID Connect를 사용하는 Single Sign-On 구성의 경우, 사용자는 권한을 제공해야 합니다.
- OAuth 2.0 기반 제공자의 경우 허용되는 값은 Facebook, Google, Yahoo, Microsoft, LinkedIn 또는 Twitter입니다.
- WS-Federation 기반 제공자의 경우 Authentication/WsFederation/ADFS/AuthenticationTypeAuthentication/WsFederation/Azure/\<provider\>/AuthenticationType 사이트 설정을 위해 지정된 값을 사용하십시오.

사용자 등록 활성화 또는 비활성화

다음 표는 사용자 등록(로그인) 옵션을 활성화 및 비활성화하기 위한 설정에 대해 설명합니다.

사이트 설정 이름 설명
Authentication/Registration/Enabled 모든 형식의 사용자 등록을 활성화 또는 비활성화합니다. 이 섹션에서 다른 설정이 발효되려면 등록이 활성화되어야 합니다. 기본값: True
Authentication/Registration/OpenRegistrationEnabled 가입 등록 양식을 활성화하거나 비활성화합니다. 가입 양식을 사용하면 익명의 방문자가 사용자 계정을 만들 수 있습니다. 기본값: True
Authentication/Registration/InvitationEnabled 초대 코드를 보유한 사용자를 등록하기 위한 초대 코드 사용 양식을 활성화 또는 비활성화합니다. 기본값: True
Authentication/Registration/CaptchaEnabled 사용자 등록 페이지에서 이미지 문자를 활성화 또는 비활성화합니다. 기본값: False
이 설정은 기본적으로 사용하지 못할 수도 있습니다. 이미지 문자를 활성화하려면 사이트 설정을 만들어 그 값을 true로 설정해야 합니다.

사용자에 대해 기본 이메일 주소가 지정되어 있는지 확인하십시오. 사용자는 연락처 레코드의 보조(emailaddress2) 또는 대체(emailaddress3) 주소가 아닌 기본 이메일 주소(emailaddress1)로만 등록할 수 있습니다.

사용자 자격 증명 검증

다음 표는 사용자 이름 및 암호 유효성 검사 매개 변수를 조정하기 위한 설정에 대해 설명합니다. 검증은 새 로컬 계정을 등록하거나 암호를 변경할 때 발생합니다.

사이트 설정 이름 설명
Authentication/UserManager/PasswordValidator/EnforcePasswordPolicy 암호에 다음 범주 중 세 가지 문자가 포함되어야 하는지 여부를 결정합니다.
  • 유럽 언어의 대문자(A ~ Z, 분음 기호 사용, 그리스 및 키릴 문자)
  • 유럽 언어의 소문자(A ~ Z, 뾰족한 s, 분음 기호 사용, 그리스 및 키릴 문자)
  • 기본 10자리(0~9)
  • 영숫자가 아닌 문자 또는 특수 문자
기본값: True. 암호 정책에 대해 자세히 알아보기.
Authentication/UserManager/UserValidator/AllowOnlyAlphanumericUserNames 사용자 이름에 영숫자 문자만 허용할지를 결정합니다. 기본값: False
Authentication/UserManager/UserValidator/RequireUniqueEmail 사용자를 검증하기 위해 고유한 이메일 주소가 필요한지를 결정합니다. 기본값: True
Authentication/UserManager/PasswordValidator/RequiredLength 필요한 최소 암호 길이를 설정합니다. 기본값: 8
Authentication/UserManager/PasswordValidator/RequireNonLetterOrDigit 암호에 특수 문자가 필요한지 여부를 결정합니다. 기본값: False
Authentication/UserManager/PasswordValidator/RequireDigit 암호에 숫자가 필요한지 여부를 결정합니다. 기본값: False
Authentication/UserManager/PasswordValidator/RequireLowercase 암호에 소문자가 필요한지 여부를 결정합니다. 기본값: False
Authentication/UserManager/PasswordValidator/RequireUppercase 암호에 대문자가 필요한지 여부를 결정합니다. 기본값: False

사용자 계정 잠금 설정

다음 표는 언제 어떻게 계정을 인증하지 못하도록 잠글지를 규정하는 설정에 대해 설명합니다. 단기간에 특정 횟수의 암호 시도 실패가 감지되면 사용자 계정이 일정 시간 동안 잠가집니다. 사용자는 잠금 기간이 경과한 후에 다시 시도할 수 있습니다.

사이트 설정 이름 설명
Authentication/UserManager/UserLockoutEnabledByDefault 사용자가 생성될 때 사용자 잠금이 활성화되는지의 여부를 표시합니다. 기본값: True
Authentication/UserManager/DefaultAccountLockoutTimeSpan 최대 시도 실패 횟수에 도달한 후 사용자가 잠기는 기본 시간을 설정합니다. 기본값: 24:00:00`(1일)
Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout 잠금이 활성화된 경우 사용자가 잠기기 전에 허용되는 최대 로그인 시도 실패 횟수입니다. 기본값: 5

다음 표는 CookieAuthenticationOptions 클래스에 정의된 기본 인증 쿠키 동작을 수정하기 위한 설정에 대해 설명합니다.

사이트 설정 이름 설명
Authentication/ApplicationCookie/AuthenticationType 애플리케이션 인증 쿠키의 유형을 설정합니다. 기본값: ApplicationCookie
Authentication/ApplicationCookie/CookieName id를 지속하는 데 사용되는 쿠키 이름을 결정합니다. 기본값: .AspNet.Cookies
Authentication/ApplicationCookie/CookieDomain 쿠키를 만드는 데 사용되는 도메인을 결정합니다.
Authentication/ApplicationCookie/CookiePath 쿠키를 만드는 데 사용되는 경로를 결정합니다. 기본값: /
Authentication/ApplicationCookie/CookieHttpOnly 브라우저에서 클라이언트 쪽 JavaScript가 쿠키에 액세스하도록 허용할지를 결정합니다. 기본값: True
Authentication/ApplicationCookie/CookieSecure 쿠키가 HTTPS 요청 시에만 전송되어야 하는지를 결정합니다. 기본값: SameAsRequest
Authentication/ApplicationCookie/ExpireTimeSpan 애플리케이션 쿠키가 만들어진 지점에서 유효한 상태로 유지되는 시간을 제어합니다. 기본값: 24:00:00(1일)
Authentication/ApplicationCookie/SlidingExpiration 미들웨어가 만료 기간의 절반 이상 지난 요청을 처리할 때마다 새로운 만료 시간으로 새 쿠키를 재발행하도록 미들웨어에 지시합니다. 기본값: True
Authentication/ApplicationCookie/LoginPath 나가는 401 Unauthorized 상태 코드를 지정된 로그인 경로로의 302 리디렉션으로 변경해야 함을 미들웨어에 알립니다. 기본값: /signin
Authentication/ApplicationCookie/LogoutPath 로그아웃 경로가 미들웨어를 제공하는 경우 해당 경로에 대한 요청은 ReturnUrlParameter를 기반으로 리디렉션됩니다.
Authentication/ApplicationCookie/ReturnUrlParameter 로그인 경로에서 401 승인되지 않음 상태 코드가 302 리디렉션으로 변경될 때 미들웨어에 의해 추가되는 쿼리 문자열 매개 변수의 이름을 결정합니다.
Authentication/ApplicationCookie/SecurityStampValidator/ValidateInterval 보안 스탬프 유효성 검사 사이의 기간을 설정합니다. 기본값: 30분
Authentication/TwoFactorCookie/AuthenticationType 2단계 인증 쿠키의 유형을 설정합니다. 기본값: TwoFactorCookie
Authentication/TwoFactorCookie/ExpireTimeSpan 2단계 쿠키가 만들어진 지점에서 유효한 상태로 유지되는 시간을 제어합니다. 값은 6분을 초과할 수 없습니다. 기본값: 5분

다음 단계

ID 공급자를 Azure AD B2C로 마이그레이션

참조 항목

Power Pages의 인증 개요
OAuth 2.0 공급자 설정
OpenID Connect 공급자 설정
SAML 2.0 공급자 설정
WS-Federation 공급자 설정