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 döndüren Consent.AcceptAlwaysbir temsilci uygulayabilirsiniz.

Uygulama

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

öğesinden mip::Consent türetilen nesne veya mip::ProtectionProfile::Settings oluşturucusunda mip::FileProfile::Settings 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.
  • Reddet: Onay verme.

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ğindeGetUserConsent, yöntemi SDK tarafından çağrılır ve URL parametre olarak geçirilir. 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.