QWebEnginePermission Class
QWebEnginePermission은 특정 원본 URL에 부여되거나 거부된 단일 권한의 상태에 액세스하고 수정하는 데 사용되는 개체입니다. 더 보기...
헤더: | #include <QWebEnginePermission> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
이후: | Qt 6.8 |
QML에서: | webEnginePermission |
공용 형
enum class | PermissionType { MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, DesktopVideoCapture, DesktopAudioVideoCapture, …, Unsupported } |
enum class | State { Invalid, Ask, Granted, Denied } |
속성
- isValid : const bool
- origin : const QUrl
- permissionType : const PermissionType
- state : const State
공용 함수
void | deny() const |
void | grant() const |
bool | isValid() const |
QUrl | origin() const |
QWebEnginePermission::PermissionType | permissionType() const |
void | reset() const |
QWebEnginePermission::State | state() const |
정적 공개 멤버
bool | isPersistent(QWebEnginePermission::PermissionType permissionType) |
상세 설명
일반적인 사용 패턴은 다음과 같습니다:
- 웹사이트에서 특정 권한을 요청하여 QWebEnginePage::permissionRequested() 시그널을 트리거합니다;
- 신호 핸들러는 사용자에게 권한을 부여할지 여부를 묻는 메시지를 표시합니다;
- 사용자가 결정을 내리면 애플리케이션은 grant() 또는 deny()를 호출합니다;
또는 이미 부여된 권한을 수정하려는 애플리케이션은 QWebEngineProfile::listAllPermissions()를 사용하여 프로필과 연결된 기존 권한 목록을 가져오거나 QWebEngineProfile::queryPermission()를 사용하여 특정 권한에 대한 QWebEnginePermission 객체를 가져올 수 있습니다.
origin() 속성은 QWebEnginePermission이 연결된 출처를 쿼리하는 데 사용할 수 있으며 permissionType() 속성은 요청된 권한의 유형을 설명합니다. 웹사이트 출처는 스키마, 호스트 이름 및 포트의 조합입니다. 권한은 오리진별로 부여되므로 https://www.example.com:12345/some/page.html
웹 페이지가 권한을 요청하면 https://www.example.com:12345/
오리진에 권한이 부여됩니다.
QWebEnginePermission::PermissionType WebEngine 는 Qt XML이 지원하는 모든 권한 유형을 설명합니다. 일부 권한 유형만 브라우징 세션 간에 기억되며 영구적입니다. 비영구적 권한은 웹사이트에서 요청할 때마다 사용자에게 쿼리합니다. 정적 메서드 QWebEnginePermission::isPersistent()를 사용하여 런타임에 권한 유형이 영구적인지 여부를 확인할 수 있습니다.
영구 권한은 활성 QWebEngineProfile 내에 저장되며 수명은 QWebEngineProfile::persistentPermissionsPolicy() 값에 따라 달라집니다. 기본적으로 명명된 프로필은 디스크에 권한을 저장하는 반면, 오프더레코드 프로필은 메모리에 권한을 저장합니다(프로필이 삭제되면 삭제됨). 저장된 권한은 다음에 웹사이트가 요청할 때 사용자에게 쿼리하지 않고 사용자가 처음에 선택한 해상도에 따라 자동으로 허용 또는 거부됩니다. 저장된 권한을 지우려면 reset()를 호출합니다.
반면 비영구적 권한은 관련 QWebEnginePage 에서 다른 URL로 이동하거나 삭제될 때까지만 사용할 수 있습니다.
isValid() 속성을 사용하여 QWebEnginePermission이 유효한 상태인지 확인할 수 있습니다. 유효하지 않은 개체의 경우 grant(), deny() 또는 reset()를 호출하면 아무 작업도 수행하지 않지만 state()를 호출하면 항상 QWebEnginePermission::Invalid 를 반환합니다.
QWebEnginePage::permissionRequested(), QWebEngineProfile::queryPermission() 및 QWebEngineProfile::listAllPermissions()도 참조하세요 .
멤버 유형 문서
enum class QWebEnginePermission::PermissionType
이 열거형에는 요청된 권한 유형의 유형이 저장됩니다:
상수 | 값 | 설명 |
---|---|---|
QWebEnginePermission::PermissionType::MediaAudioCapture | 1 | 마이크 또는 다른 오디오 소스에 대한 액세스 권한입니다. 이 권한은 영구적이지 않습니다. |
QWebEnginePermission::PermissionType::MediaVideoCapture | 2 | 웹캠 또는 다른 비디오 소스에 대한 액세스 권한. 이 권한은 영구적이지 않습니다. |
QWebEnginePermission::PermissionType::MediaAudioVideoCapture | 3 | MediaAudioCapture와 MediaVideoCapture의 조합. 이 권한은 영구적이지 않습니다. |
QWebEnginePermission::PermissionType::DesktopVideoCapture | 4 | 사용자 화면의 콘텐츠에 대한 접근 권한. 이 권한은 영구적이지 않습니다. |
QWebEnginePermission::PermissionType::DesktopAudioVideoCapture | 5 | 사용자 화면의 콘텐츠 및 애플리케이션 오디오에 대한 액세스 권한. 이 권한은 영구적이지 않습니다. |
QWebEnginePermission::PermissionType::MouseLock | 6 | 웹 페이지의 요소 내부에 포인터를 잠급니다. 이 권한은 영구적이지 않습니다. |
QWebEnginePermission::PermissionType::Notifications | 7 | 웹 사이트에서 사용자에게 알림을 보낼 수 있습니다. 이 권한은 영구적입니다. |
QWebEnginePermission::PermissionType::Geolocation | 8 | 사용자의 실제 위치에 액세스할 수 있습니다. 이 권한은 영구적입니다. |
QWebEnginePermission::PermissionType::ClipboardReadWrite | 9 | 사용자의 클립보드에 액세스할 수 있습니다. 이 권한은 영구적입니다. |
QWebEnginePermission::PermissionType::LocalFontsAccess | 10 | 사용자 컴퓨터에 설치된 글꼴에 대한 액세스 권한. 데스크톱에서만 사용할 수 있습니다. 이 권한은 영구적입니다. |
QWebEnginePermission::PermissionType::Unsupported | 0 | 지원되지 않는 권한 유형입니다. |
참고: 비영구 권한 유형은 기본 스토리지에 기억되지 않으며 웹사이트가 사용하려고 할 때마다 권한 요청을 트리거하는 권한 유형입니다.
enum class QWebEnginePermission::State
이 열거형 유형은 요청된 권한의 현재 상태를 보유합니다:
상수 | 값 | 설명 |
---|---|---|
QWebEnginePermission::State::Invalid | 0 | 개체가 유효하지 않은 상태이며 설명된 권한을 수정하려는 시도가 실패합니다. |
QWebEnginePermission::State::Ask | 1 | 권한이 이전에 요청된 적이 없거나 permissionType()가 영구적이지 않습니다. |
QWebEnginePermission::State::Granted | 2 | 권한이 이미 부여되었습니다. |
QWebEnginePermission::State::Denied | 3 | 권한이 이미 거부되었습니다. |
속성 문서
[read-only]
isValid : const bool
권한의 상태를 변경하려는 시도가 성공할지 여부를 나타냅니다.
잘못된 QWebEnginePermission:
- permissionType()가 지원되지 않는 경우;
- origin()가 유효하지 않은 경우;
- 연결된 프로필이 삭제된 경우
기능에 액세스합니다:
bool | isValid() const |
isPersistent()도 참조하세요 .
[read-only]
origin : const QUrl
이 속성에는 권한과 연결된 출처의 URL이 저장됩니다.
웹사이트 오리진은 해당 스키마, 호스트 이름 및 포트의 조합입니다. 권한은 오리진별로 부여되므로 https://www.example.com:12345/some/page.html
웹 페이지에서 권한을 요청하면 https://www.example.com:12345/
오리진에 권한이 부여됩니다.
액세스 기능:
QUrl | origin() const |
[read-only]
permissionType : const PermissionType
이 속성에는 이 권한과 연결된 권한 유형이 저장됩니다.
액세스 기능:
QWebEnginePermission::PermissionType | permissionType() const |
[read-only]
state : const State
이 속성은 권한의 현재 상태를 보유합니다.
지정된 permissionType() 및 origin()에 대한 권한이 이미 부여되었거나 거부된 경우 반환 값은 각각 QWebEnginePermission::Granted 또는 QWebEnginePermission::Denied 입니다. 권한이 처음 요청된 경우 반환 값은 QWebEnginePermission::Ask 입니다. 개체가 유효하지 않은 상태인 경우 반환 값은 QWebEnginePermission::Invalid 입니다.
함수 액세스:
QWebEnginePermission::State | state() const |
isValid() 및 isPersistent()도 참조하세요 .
멤버 함수 문서
[invokable]
void QWebEnginePermission::deny() const
연결된 오리진이 요청된 permissionType 에 액세스하지 못하도록 중지합니다. isValid ()가 false로 평가되면 아무 작업도 수행하지 않습니다.
참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
grant(), reset() 및 isValid()도 참조하세요 .
[invokable]
void QWebEnginePermission::grant() const
연결된 출처가 요청된 permissionType 에 액세스할 수 있도록 허용합니다. isValid ()가 거짓으로 평가되면 아무 작업도 수행하지 않습니다.
참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
deny(), reset() 및 isValid()도 참조하세요 .
[static invokable]
bool QWebEnginePermission::isPersistent(QWebEnginePermission::PermissionType permissionType)
permissionType 가 영구적인지 여부를 반환합니다. 즉, 권한의 상태가 기억되어 다음에 웹사이트가 동일한 권한을 요청할 때 사용자에게 쿼리되지 않습니다.
참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QWebEnginePermission::reset() const
프로필의 기본 저장소에서 권한을 제거합니다. 기본적으로 권한은 디스크에 저장됩니다(권한이 메모리에 저장되고 프로필과 함께 삭제되는 오프더레코드 프로필은 제외). 즉, 이미 부여/거부된 권한은 두 번 요청되지 않고 이후 웹사이트가 요청할 때마다 자동으로 부여/거부됩니다. reset()을 호출하면 다음에 웹사이트가 요청할 때 쿼리가 다시 표시될 수 있습니다.
isValid()가 false로 평가되면 아무 작업도 수행하지 않습니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
grant(), deny(), isValid() 및 QWebEngineProfile::persistentPermissionsPolicy()도 참조하세요 .
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.