Microsoft Information Protection SDK – Medgivande
Uppräkningsklassen mip::Consent
implementerar en lätthanterad metod som gör det möjligt för programutvecklare att tillhandahålla en anpassad medgivandeupplevelse baserat på slutpunkten som används av SDK:et. Meddelandet kan informera en användare om de data som samlas in, hur du tar bort data eller annan information som krävs enligt lag eller efterlevnadsprinciper. När användaren har gett sitt medgivande kan programmet fortsätta. Det här ombudet anropas endast när du försöker komma åt Active Directory Rights Management Services (AD RMS). Den anropas inte vid åtkomst till molntjänster. Om ditt program inte stöder AD RMS kan du implementera ett ombud som alltid returnerar Consent.AcceptAlways
.
Implementering
Medgivande implementeras genom att utöka basklassen mip::Consent
och implementera GetUserConsent
för att returnera ett av uppräkningsvärdena mip::Consent
.
Objektet som härleds från mip::Consent
skickas till mip::FileProfile::Settings
konstruktorn eller mip::ProtectionProfile::Settings
konstruktorn.
När en användare utför en åtgärd som kräver att ge medgivande anropar GetUserConsent
SDK-metoden och skickar in mål-URL:en som parameter. Det är i den här metoden där man skulle implementera visning av nödvändig information för användaren, så att de kan fatta ett beslut om huruvida de samtycker till att använda tjänsten eller inte.
Alternativ för medgivande
- AcceptAlways: Samtyck och kom ihåg beslutet.
- Acceptera: Medgivande en gång.
- Avvisa: Godkänn inte.
När SDK:et begär användarmedgivande med den här metoden ska klientprogrammet presentera URL:en för användaren. Klientprogram bör tillhandahålla ett sätt att erhålla användarens medgivande och returnera lämplig medgivandeuppräkning som motsvarar användarens beslut.
Exempelimplementering
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
När SDK:t kräver medgivande GetUserConsent
anropas metoden av SDK:t och URL:en skickas som en parameter. I exemplet nedan meddelas användaren att SDK:et ansluter till den angivna URL:en och ger användaren ett alternativ på kommandoraden. Baserat på användarens val godkänner eller avvisar användaren medgivande och det skickas till SDK:t. Om användaren nekar till medgivande utlöser programmet ett undantag och inget anrop görs till skyddstjänsten.
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;
}
}
När du testar eller utvecklar, eller när du bara använder de molnbaserade tjänsterna, kan en grundläggande ConsentDelegate
implementeras.
Consent ConsentDelegateImpl::GetUserConsent(const string& url) {
return Consent::AcceptAlways;
}
I produktionskoden kan användaren dock behöva presenteras med ett val att samtycka, beroende på regionala eller affärsmässiga krav och föreskrifter.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för