Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten przegląd dotyczy ponownej publikacji w pakiecie MIP SDK. Ponowne publikowanie obsługuje scenariusze, w których aplikacja umożliwia użytkownikowi edytowanie pliku i wymaga zachowania oryginalnych informacji o licencji publikowania dotyczących właściciela, praw, klucza zawartości itd.
Wzorzec może wyglądać następująco:
- Użytkownik otwiera chroniony dokument do edycji.
- Aplikacja zezwala użytkownikowi na edycję pliku tylko wtedy, gdy mają 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ę.
Za pomocą mip::ProtectionHandler elementu z oryginalnego pliku aplikacja utrzymuje właściciela, identyfikator zawartości i klucz zawartości 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 etykiet i informacji o ochronie. Pełną listę obsługiwanych operacji można znaleźć w dokumentacji 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.
AccessCheck() Użyj metody , aby sprawdzić, czy użytkownik ma uprawnienia do edytowania pliku.
Aby pomyślnie ukończyć ten scenariusz ponownej ochrony, zapoznaj się z przewodnikami Szybki start w sekcji Następne kroki i sprawdź, czy aplikacja kompiluje się oraz czy może poprawnie wyświetlić listę etykiet.
Utwórz moduł obsługi ochrony z pliku i odszyfruj plik
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 go użyć do zweryfikowania poziomów dostępu użytkownika dla pliku, odszyfrowywania pliku i późniejszego szyfrowania pliku po jego edycji.
Użyj mip::ProtectionHandlerparametru "s AccessCheck() ", aby sprawdzić, 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ę i przekaż wartość "EDIT". Jeśli wynik ma wartość true, zezwól użytkownikowi na edycję pliku. Po zweryfikowaniu uprawnienia EDIT użyj GetDecryptedTemporaryFileAsync() w mip::FileHandler, aby pobrać tymczasowy odszyfrowany plik.
Aby uzyskać więcej informacji, zobacz Ograniczanie dostępu do zawartości przy użyciu etykiet poufności w celu zastosowania szyfrowania.
Ważne
Deweloper aplikacji jest odpowiedzialny za kontrole dostępu i wymuszanie. Użytkownik z uprawnieniami VIEW może odszyfrować chronione informacje. Aplikacja musi zweryfikować zestaw praw udzielonych użytkownikowi i wymusić te prawa za pośrednictwem mechanizmów kontroli ochrony informacji, takich jak zapobieganie kopiowaniu, edytowaniu lub robieniu zrzutów ekranu. Jeśli nie zaimplementujesz poprawnie mechanizmów kontroli ochrony, możesz uwidocznić poufne informacje.
Zapisywanie i publikowanie edytowanego pliku przez zastosowanie ochrony
Plik można edytować po jego odszyfrowaniu. Po zakończeniu operacji edycji można zatwierdzić zmiany. Użyj pliku tymczasowego, aby utworzyć IFileHandler obiekt, który obsługuje zatwierdzony plik.
IProtectionHandler Użyj obiektu pobranego z oryginalnego pliku, aby chronić plik tymczasowy.
Ponowne publikowanie w trybie offline
Ponowne publikowanie może odbywać się w trybie offline, gdy dostępna jest pamięć podręczna licencji publikowania. Jeśli aplikacja buforowała wcześniej szablony i dane licencji publikowania za pośrednictwem publikowania w trybie offline, przepływ pracy ponownego publikowania nie wymaga aktywnego połączenia z usługą Rights Management.
Ponowne publikowanie w trybie offline jest przydatne w scenariuszach, w których:
- Aplikacja musi działać w sporadycznie połączonych środowiskach.
- Duże operacje wsadowe potrzebują być ponownie publikowane bez indywidualnych wywołań usług dla każdego dokumentu.
- Aplikacja wymaga lepszej wydajności poprzez unikanie wywołań usługi.
Włącz publikowanie w trybie offline i buforowanie szablonów przed podjęciem próby ponownej publikacji w trybie offline. Aby uzyskać szczegółowe informacje o konfiguracji, zobacz Publikowanie w trybie offline .