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.
To omówienie koncentruje się na funkcji Republishing w zestawie SDK MIP. Ponowne publikowanie jest wymagane, gdy aplikacja musi zezwolić użytkownikowi na edycję pliku, ale musi zachować oryginalne informacje o licencji publikowania dotyczące właściciela, praw, klucza zawartości itd.
Wzorzec może wyglądać mniej więcej tak:
- Użytkownik otwiera chroniony dokument do edycji.
- Użytkownik może edytować plik tylko wtedy, gdy ma odpowiednie prawa.
- Użytkownik edytuje, a następnie zapisuje dokument.
Pseudokod zestawu MIP SDK do wykonania tego zadania może wyglądać następująco:
- Utwórz obiekt
mip::FileHandlerwskazujący plik docelowy. - Przechowuj wartości
mip::ProtectionHandler, które zostały uwidocznione przez metodęmip::FileHandlerobiektuGetProtection(). - Sprawdź, czy użytkownik ma uprawnienia EDIT , wywołując
AccessCheck()metodę . - Użyj
mip::FileHandlerGetDecryptedTemporaryFileAsync()alboGetDecryptedTemporaryStreamAsync(), aby uzyskać tymczasowe odszyfrowane dane wyjściowe. - Edytuj plik tymczasowy lub zawartość strumienia i zapisz.
- Utwórz nowe
mip::FileHandlerwystąpienie wskazujące plik tymczasowy i użyjSetProtection()metody , podając parametr przechowywanymip::ProtectionHandlerjako parametr. - Zatwierdź zmianę.
Przy użyciu mip::ProtectionHandler z oryginalnego pliku, właściciel, identyfikator zawartości i klucz zawartości zostają zachowane w edytowanym dokumencie. Ten scenariusz ponownego publikowania wymaga, aby aplikacja utrzymywała odwołanie do oryginalnego .mip::ProtectionHandler
Implementacja
Jak wspomniano wcześniej, mip::FileHandler klasa uwidacznia metody odczytywania, zapisywania i usuwania zarówno etykiet, jak i informacji o ochronie. Aby uzyskać pełną listę obsługiwanych operacji, zapoznaj się z dokumentacją programu mip::FileHandler.
W tym scenariuszu są używane następujące metody:mip::FileHandler
GetProtection()CommitAsync()GetDecryptedTemporaryFileAsync()SetProtection()
W scenariuszu używany jest również mip::ProtectionHandler, który uwidacznia funkcje szyfrowania i odszyfrowywania chronionych strumieni i buforów, przeprowadzania kontroli dostępu, uzyskiwania licencji publikowania oraz pobierania atrybutów z chronionych informacji. Metoda AccessCheck() będzie używana do sprawdzania, czy użytkownik ma uprawnienia do edytowania pliku.
Aby pomyślnie ukończyć ten scenariusz ponownego włączania ochrony, zapoznaj się z przewodnikami Szybki start w obszarze "Następne kroki" i upewnij się, że aplikacja kompiluje i może pomyślnie wyświetlić listę etykiet.
Tworzenie programu obsługi ochrony na podstawie pliku i odszyfrowywanie pliku
mip::ProtectionHandler Udostępnia funkcje szyfrowania i odszyfrowywania chronionych strumieni i buforów, przeprowadzania kontroli dostępu, uzyskiwania licencji publikowania oraz pobierania atrybutów z chronionych informacji.
mip::ProtectionHandler obiekty są konstruowane przez podanie ProtectionDescriptor lub zserializowanej licencji publikowania. W tym przypadku użycia licencja publikowania jest używana podczas odszyfrowywania już chronionej zawartości lub ochrony zawartości, w której licencja została już skonstruowana.
mip::FileHandler Uwidacznia metodę o nazwie GetProtection() , która pobiera mip::ProtectionHandler z pliku skojarzonego z elementem mip::FileHandler. Po pobraniu mip::ProtectionHandler obiektu można użyć go do sprawdzania poprawności poziomów dostępu użytkownika dla pliku, odszyfrowywania pliku i późniejszego szyfrowania pliku po jego edycji.
mip::ProtectionHandler
AccessCheck() Element jest używany do sprawdzania, czy użytkownik ma określone prawo do pliku i zwraca odpowiedź logiczną w zależności od wyniku. Aby na przykład sprawdzić, czy użytkownik ma uprawnienia do edycji, wywołaj metodę przekazującą wartość "EDIT". Jeśli wynik ma wartość true, zezwól użytkownikowi na edycję pliku. Po zweryfikowaniu prawa EDIT, użyj elementu mip::FileHandler z GetDecryptedTemporaryFileAsync() w celu pobrania tymczasowego odszyfrowanego pliku.
Aby uzyskać więcej informacji, zobacz Ograniczanie dostępu do zawartości przy użyciu etykiet poufności w celu zastosowania szyfrowania.
Ważne
Kontrole dostępu i ich egzekwowanie należą wyłącznie do odpowiedzialności dewelopera aplikacji. Użytkownik z uprawnieniami VIEW może odszyfrować chronione informacje. Aplikacja musi zweryfikować zestaw praw, które otrzymuje użytkownik, oraz wymusić te prawa za pośrednictwem mechanizmów kontroli ochrony informacji, takich jak zapobieganie kopiowaniu, edytowaniu lub robieniu zrzutów ekranu. Nieprawidłowe wdrożenie mechanizmów kontroli ochrony może spowodować ujawnienie poufnych informacji.
Zapisz i opublikuj edytowany plik, stosując ochronę
Plik można edytować po odszyfrowaniu pliku. Po zakończeniu operacji edycji można zatwierdzać zmiany.
IFileHandler Utwórz obiekt przy użyciu pliku tymczasowego do obsługi zatwierdzonego pliku. Plik tymczasowy można następnie chronić przy użyciu IProtectionHandler obiektu pobranego z oryginalnego pliku.