Microsoft Information Protection SDK ' sı - Onay

Numaralandırma sınıfı, mip::Consent uygulama geliştiricilerinin SDK tarafından erişilen uç noktaya göre özel bir onay deneyimi sağlamasına izin veren kullanımı kolay bir yaklaşım uygular. Bildirim, bir kullanıcıyı toplanacak veriler, verilerin nasıl kaldırılacağı veya yasa veya uyumluluk ilkeleri tarafından gerekli kılınan diğer bilgiler hakkında bilgilendirebilir. Kullanıcı onay verdikten sonra uygulama devam edebilir. Bu temsilci yalnızca Active Directory Rights Management Services'a (AD RMS) erişmeye çalışırken çağrılır. Bulut hizmetlerine erişirken çağrılmaz. Uygulamanız AD RMS'yi desteklemiyorsa, her zaman Consent.AcceptAlways döndüren bir temsilci uygulayabilirsiniz.

Uygulama

Onay, mip::Consent temel sınıfını genişleterek ve GetUserConsent olarak, mip::Consent numaralandırma değerlerinden birini döndürmek için uygulanır.

mip::Consent öğesinden türetilen nesne, mip::FileProfile::Settings veya mip::ProtectionProfile::Settings oluşturucusuna olarak geçirilir.

Kullanıcı onay verilmesini gerektirecek bir işlem gerçekleştirdiğinde, SDK yöntemini çağırır GetUserConsent ve hedef URL'yi parametre olarak geçirir. Bu yöntem, kullanıcıya gerekli bilgileri görüntülemeyi uygulayarak hizmetin kullanılmasına izin verip vermedikleri konusunda karar vermelerine olanak tanır.

  • AcceptAlways: Kararı onaylayın ve unutmayın.
  • Kabul et: Onay bir kez.
  • Reddetmek: Rıza gösterme.

SDK bu yöntemle kullanıcı onayı istediğinde, istemci uygulaması URL'yi kullanıcıya sunmalıdır. İstemci uygulamaları, kullanıcı onayı almak için bazı yöntemler sağlamalı ve kullanıcının kararına karşılık gelen uygun Onay numaralandırmasını döndürmelidir.

Örnek uygulama

class ConsentDelegateImpl final : public mip::ConsentDelegate {
public:
  ConsentDelegateImpl() = default;
  
  virtual mip::Consent GetUserConsent(const std::string& url) override;

};

SDK onay gerektirdiğinde, GetUserConsent yöntemi SDK tarafından çağrılır ve URL parametre olarak iletilir. Aşağıdaki örnekte, kullanıcıya SDK'nın sağlanan URL'ye bağlanacağı bildirilir ve kullanıcıya komut satırında bir seçenek sağlar. Kullanıcı tarafından yapılan seçime bağlı olarak, kullanıcı onayı kabul eder veya reddeder ve sdk'ya geçirilir. Kullanıcı onayı reddederse, uygulama bir özel durum oluşturur ve koruma hizmetine çağrı yapılmaz.

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;
  }  
}

Test veya geliştirme aşamasında ya da yalnızca bulut tabanlı hizmetler kullanılırken temel ConsentDelegate bir uygulama yapılabilir.

Consent ConsentDelegateImpl::GetUserConsent(const string& url) {
  return Consent::AcceptAlways;
}

Ancak üretim kodunda kullanıcının bölgesel gereksinimlere veya iş gereksinimlerine ve düzenlemelerine bağlı olarak onay verme seçeneği sunulması gerekebilir.