Znovu publikování

Přehled se zaměřuje na opětovné publikování v rámci sady MIP SDK. Opětovné publikování se vyžaduje, když aplikace potřebuje uživateli povolit úpravy souboru, ale musí udržovat původní informace o licenci publikování o vlastníkovi, právech, klíči obsahu atd.

Vzor může vypadat nějak takto:

  • Uživatel otevře chráněný dokument pro úpravy.
  • Uživatel musí mít oprávnění k úpravám souboru pouze v případě, že má příslušná práva.
  • Uživatel dokument upraví a uloží.

Pseudokód sady MIP SDK k provedení této úlohy může vypadat takto:

  • Vytvořte objekt mip::FileHandler odkazující na cílový soubor.
  • Uložte vystavené mip::ProtectionHandler metodoumip::FileHandlerGetProtection().
  • Zkontrolujte, jestli má uživatel práva EDIT voláním AccessCheck() metody.
  • mip::FileHandler Použijte GetDecryptedTemporaryFileAsync()nebo GetDecryptedTemporaryStreamAsync() získejte dočasný dešifrovaný výstup.
  • Upravte dočasný soubor nebo obsah datového proudu a uložte ho.
  • Vytvořte novou mip::FileHandler instanci odkazující na dočasný soubor a použijte metodu SetProtection() , která poskytuje uloženou mip::ProtectionHandler jako parametr.
  • Potvrďte změnu.

Pomocí mip::ProtectionHandler z původního souboru se v upraveném dokumentu zachovává vlastník, ID obsahu a klíč obsahu. Tento scénář opětovného publikování vyžaduje, aby aplikace zachovala odkaz na původní mip::ProtectionHandler.

Implementace

Jak je popsáno dříve, mip::FileHandler třída zveřejňuje metody pro čtení, zápis a odebírání popisků a informací o ochraně. Úplný seznam podporovaných operací najdete v referenčních informacích pro mip::FileHandler.

Tento scénář používá následující metody mip::FileHandler:

  • GetProtection()
  • CommitAsync()
  • GetDecryptedTemporaryFileAsync()
  • SetProtection()

Scénář také používá mip::ProtectionHandler, který zveřejňuje funkce pro šifrování a dešifrování chráněných datových proudů a vyrovnávacích pamětí, provádění kontrol přístupu, získání licence publikování a získání atributů z chráněných informací. Metoda AccessCheck() se použije k ověření, že uživatel má práva k úpravě souboru.

Pokud chcete tento scénář opětovné ochrany úspěšně dokončit, projděte si Rychlé starty v části Další kroky a ujistěte se, že se aplikace sestaví a úspěšně zobrazuje popisky.

Vytvořte obslužnou rutinu ochrany ze souboru a dešifrujte soubor

mip::ProtectionHandler zveřejňuje funkce pro šifrování a dešifrování chráněných datových proudů a vyrovnávacích pamětí, provádění kontrol přístupu, získání licence pro publikování a získávání atributů z chráněných informací. mip::ProtectionHandler objekty jsou sestaveny poskytnutím ProtectionDescriptor nebo serializované licence publikování. V tomto případě se licence k publikování používá při dešifrování již chráněného obsahu nebo při ochraně obsahu, kde už byla licence vytvořena.

mip::FileHandler zveřejňuje metodu s názvem GetProtection() , která načte mip::ProtectionHandler ze souboru přidruženého k souboru mip::FileHandler. Jakmile se mip::ProtectionHandler objekt načte, můžete ho použít k ověření úrovní přístupu uživatele k souboru, k jeho dešifrování a následnému zašifrování po úpravě.

mip::ProtectionHandler AccessCheck() Slouží k ověření, že uživatel má konkrétní právo na soubor a v závislosti na výsledku vrátí logickou odpověď. Pokud chcete například ověřit, že uživatel má práva k úpravám, zavolejte metodu, která předává hodnotu EDIT. Pokud je výsledek pravdivý, povolte uživateli úpravy souboru. Po ověření práva EDIT použijte mip::FileHandlerGetDecryptedTemporaryFileAsync() k načtení dočasného dešifrovaného souboru.

Další informace najdete v tématu Omezení přístupu k obsahu pomocí popisků citlivosti k použití šifrování.

Důležité

Kontroly přístupu a vynucování jsou čistě na vývojáři aplikací. Uživatel s právy VIEW může dešifrovat chráněné informace. Je na aplikaci, aby ověřila sadu práv, která uživatel udělil, a aby tato práva vynucuje prostřednictvím ovládacích prvků ochrany informací, jako je zabránění kopírování, úpravám nebo pořizování snímků obrazovky. Selhání správné implementace kontrolních mechanismů ochrany může vést k ohrožení citlivých informací.

Uložení a publikování upraveného souboru pomocí ochrany

Soubor lze upravit po dešifrování souboru. Po dokončení operace úprav je možné změny potvrdit. Vytvořte IFileHandler objekt pomocí dočasného souboru pro zpracování potvrzeného souboru. Dočasný soubor pak lze chránit pomocí objektu IProtectionHandler načteného z původního souboru.

Opětovné publikování offline

Opětovné publikování může proběhnout offline, když je k dispozici mezipaměť licencí publikování. Pokud aplikace dříve ukládla šablony a publikování licenčních dat prostřednictvím offline publikování, pracovní postup opětovného publikování nevyžaduje aktivní připojení ke službě Rights Management.

To je užitečné ve scénářích, kde:

  • Aplikace musí fungovat v přerušovaně propojených prostředích.
  • Velké dávkové operace musí být znovu publikovány bez nutnosti volání služby pro každý jednotlivý dokument.
  • Lepší výkon je žádoucí tím, že se vyhnete voláním služeb.

Před pokusem o opětovné publikování offline se ujistěte, že je povolené offline publikování a že jsou šablony uložené v mezipaměti. Podrobnosti o nastavení najdete v části Offline publikování .

Další kroky