Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Třída mip::Consent výčtu implementuje jednoduchý přístup, který vývojářům aplikací umožňuje poskytovat vlastní zážitek souhlasu dle 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 ke službě služba 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 nepodporuje AD RMS, můžete implementovat delegáta, který Consent.AcceptAlways vždy vrátí.
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.
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. V této metodě se implementuje zobrazování potřebných informací uživateli, což jim umožní rozhodnout, zda souhlasí či nikoliv s používáním služby.
Možnosti souhlasu
- AcceptAlways: Souhlasíte a zapamatujte si rozhodnutí.
- Přijmout: Udělit souhlas jednorázově.
- Odmítnout: Nevyjádřit 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, metoda GetUserConsent je volána sadou SDK a adresa URL je předána 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 žádné volání se do služby ochrany neprovede.
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.