Microsoft Information Protection SDK – Souhlas
Třída mip::Consent
výčtu implementuje snadno použitelný přístup, který vývojářům aplikací umožňuje poskytovat vlastní prostředí pro vyjádření souhlasu na základě koncového bodu, ke kterému přistupuje sada SDK. Oznámení může uživatele informovat o datech, která se budou shromažďovat, jak získat odebraná data, nebo jakékoli další informace, které vyžadují zásady dodržování právních předpisů nebo dodržování předpisů. Jakmile uživatel udělí souhlas, může aplikace pokračovat. Tento delegát se volá pouze při pokusu o přístup k služba AD RMS (Active Directory Rights Management Services) (AD RMS). Při přístupu ke cloudovým službám se tato funkce nevolá. Pokud vaše aplikace nebude podporovat SLUŽBU AD RMS, můžete implementovat delegáta, který vždy vrátí Consent.AcceptAlways
.
Implementace
Souhlas se implementuje rozšířením mip::Consent
základní třídy a implementací GetUserConsent
pro vrácení jedné z hodnot výčtu mip::Consent
.
Objekt odvozený z mip::Consent
je předán do konstruktoru mip::FileProfile::Settings
nebo mip::ProtectionProfile::Settings
konstruktoru.
Když uživatel provede operaci, která by vyžadovala poskytnutí souhlasu, sada SDK volá metodu GetUserConsent
a předává cílovou adresu URL jako parametr. Je to v této metodě, kdy by jedna implementovala zobrazování potřebných informací uživateli, což jim umožní rozhodnout, zda nebo ne souhlasí s používáním služby.
Možnosti souhlasu
- AcceptAlways: Consent and remember the decision.
- Přijmout: Souhlas jednou.
- Odmítnout: Neschovávejte souhlas.
Když sada SDK požádá o souhlas uživatele s touto metodou, klientská aplikace by měla uživateli předložit adresu URL. Klientské aplikace by měly poskytnout některé prostředky pro získání souhlasu uživatele a vrátit odpovídající výčet souhlasu, který odpovídá rozhodnutí uživatele.
Ukázková implementace
consent_delegate_impl.h
class ConsentDelegateImpl final : public mip::ConsentDelegate {
public:
ConsentDelegateImpl() = default;
virtual mip::Consent GetUserConsent(const std::string& url) override;
};
consent_delegate_impl.cpp
Pokud sada SDK vyžaduje souhlas, GetUserConsent
volá se metoda sadou SDK a adresa URL předaná jako parametr. V následující ukázce se uživateli zobrazí oznámení, že se sada SDK připojí k zadané adrese URL a poskytne uživateli možnost na příkazovém řádku. Na základě volby uživatele uživatel přijme nebo odmítne souhlas a předá se sadě SDK. Pokud uživatel odmítne souhlas, aplikace vyvolá výjimku a do služby ochrany se neprodá žádné volání.
Consent ConsentDelegateImpl::GetUserConsent(const string& url) {
//Print the consent URL, ask user to choose
std::cout << "SDK will connect to: " << url << std::endl;
std::cout << "1) Accept Always" << std::endl;
std::cout << "2) Accept" << std::endl;
std::cout << "3) Reject" << std::endl;
std::cout << "Select an option: ";
char input;
std::cin >> input;
switch (input)
{
case '1':
return Consent::AcceptAlways;
break;
case '2':
return Consent::Accept;
break;
case '3':
return Consent::Reject;
break;
default:
return Consent::Reject;
}
}
Při testování nebo vývoji nebo při použití pouze cloudových služeb je možné implementovat základní ConsentDelegate
.
Consent ConsentDelegateImpl::GetUserConsent(const string& url) {
return Consent::AcceptAlways;
}
V produkčním kódu však může být nutné, aby uživatel byl předložen s výběrem souhlasu v závislosti na regionálních nebo obchodních požadavcích a nařízeních.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro