Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa mip::Consent wyliczenia implementuje łatwe w użyciu podejście, które umożliwia deweloperom aplikacji zapewnienie niestandardowego środowiska zgody na podstawie punktu końcowego, do którego uzyskuje się dostęp za pomocą zestawu SDK. Powiadomienie może poinformować użytkownika o danych, które zostaną zebrane, jak pobrać dane usunięte lub inne informacje wymagane przez zasady prawa lub zgodności. Gdy użytkownik udzieli zgody, aplikacja będzie mogła kontynuować. Ten delegat jest wywoływany tylko podczas próby uzyskania dostępu do usług Active Directory Rights Management Services (AD RMS). Nie jest wywoływana podczas uzyskiwania dostępu do usług w chmurze. Jeśli aplikacja nie będzie obsługiwać usług AD RMS, możesz zaimplementować mechanizm delegata, który zawsze zwraca wartość Consent.AcceptAlways.
Implementacja
Zgoda jest implementowana przez rozszerzenie klasy bazowej mip::Consent i implementację GetUserConsent, które zwraca jedną z wartości wyliczeniowych mip::Consent.
Obiekt pochodzący z mip::Consent jest przekazywany do konstruktora mip::FileProfile::Settings lub mip::ProtectionProfile::Settings.
Gdy użytkownik wykonuje operację, która wymaga zgody, zestaw SDK wywołuje GetUserConsent metodę, przekazując docelowy adres URL jako parametr. Jest to metoda, w której można zaimplementować wyświetlanie niezbędnych informacji dla użytkownika, co pozwala im podjąć decyzję, czy wyrazi zgodę na korzystanie z usługi.
Opcje zgody
- AcceptAlways: Wyraź zgodę i zapamiętaj decyzję.
- Zaakceptuj: zgoda raz.
- Odrzuć: nie wyrażaj zgody.
Gdy zestaw SDK zażąda zgody użytkownika za pomocą tej metody, aplikacja kliencka powinna przedstawić użytkownikowi adres URL. Aplikacje klienckie powinny podać niektóre sposoby uzyskania zgody użytkownika i zwrócić odpowiednie wyliczenie zgody, które odpowiada decyzji użytkownika.
Przykładowa implementacja
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
Gdy zestaw SDK wymaga zgody, GetUserConsent metoda jest wywoływana przez zestaw SDK i adres URL jest przekazywany jako parametr. W poniższym przykładzie użytkownik zostanie powiadomiony, że zestaw SDK połączy się z podanym adresem URL i udostępni użytkownikowi opcję w wierszu polecenia. Na podstawie wyboru użytkownika, jego zgoda jest akceptowana lub odrzucana, a wynik tego przekazywany jest do zestawu SDK. Jeśli użytkownik odmówi zgody, aplikacja zgłosi wyjątek i nie zostanie wykonane żadne wywołanie usługi ochrony.
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;
}
}
W przypadku testowania lub programowania lub używania tylko usług opartych na chmurze można zaimplementować podstawowe ConsentDelegate .
Consent ConsentDelegateImpl::GetUserConsent(const string& url) {
return Consent::AcceptAlways;
}
Jednak w kodzie produkcyjnym użytkownik może być zobowiązany do przedstawienia zgody, w zależności od wymagań regionalnych lub biznesowych i przepisów.