Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Genel Bakış
Bu senaryoya genel bakış ve nerede kullanılabileceğini öğrenmek için, bakınız MIP SDK'sında yeniden yayımlama.
Önkoşullar
Henüz yapmadıysanız devam etmeden önce aşağıdaki önkoşulları tamamladığınızdan emin olun:
- İlk olarak, bir kuruluşun duyarlılık etiketlerini listelemek, bir dosyaya/dosyadan duyarlılık etiketlerini ayarlamak ve okumak için bir başlangıç Visual Studio çözümü oluşturan Hızlı Başlangıç: Duyarlılık etiketlerini ayarla/al (C#) tamamlayın. Bu "Nasıl yapılır - Korumalı bir dosyayı yeniden yayımlama - C#" Hızlı Başlangıcı öncekini temel alır.
- İsteğe bağlı olarak: MIP SDK kavramlarındaki Dosya işleyicilerini gözden geçirin.
- İsteğe bağlı olarak: MIP SDK kavramlarındaki Koruma işleyicilerini gözden geçirin.
Korumalı dosyayı düzenlemek ve yeniden yayımlamak için mantık ekleme
Önceki "Hızlı Başlangıç: Duyarlılık etiketlerini ayarlama/alma (C#)" makalesinde oluşturduğunuz Visual Studio çözümünü açın.
Çözüm Gezgini'ni kullanarak, projenizde yönteminin uygulanmasını
Main()içeren .cs dosyasını açın. Proje oluşturma sırasında belirlediğiniz isim, varsayılan olarak projeyle aynı olup onu içeren yapıdadır.Gövdenin sonuna doğru,
Console.ReadKey()'in altına ve uygulama kapatma bloğunun üstüne aşağıdaki kodu ekleyin (önceki Hızlı Başlangıçta kaldığınız yer).
string protectedFilePath = "<protected-file-path>" // Originally protected file's path from previous quickstart.
//Create a fileHandler for consumption for the Protected File.
var protectedFileHandler = Task.Run(async () =>
await fileEngine.CreateFileHandlerAsync(protectedFilePath,// inputFilePath
protectedFilePath,// actualFilePath
false, //isAuditDiscoveryEnabled
null)).Result; // fileExecutionState
// Store protection handler from file
var protectionHandler = protectedFileHandler.Protection;
//Check if the user has the 'Edit' right to the file
if (protectionHandler.AccessCheck("Edit"))
{
// Decrypt file to temp path
var tempPath = Task.Run(async () => await protectedFileHandler.GetDecryptedTemporaryFileAsync()).Result;
/*
Your own application code to edit the decrypted file belongs here.
*/
/// Follow steps below for re-protecting the edited file. ///
// Create a new file handler using the temporary file path.
var republishHandler = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(tempPath, tempPath, false)).Result;
// Set protection using the ProtectionHandler from the original consumption operation.
republishHandler.SetProtection(protectionHandler);
// New file path to save the edited file
string reprotectedFilePath = "<reprotected-file-path>" // New file path for saving reprotected file.
// Write changes
var reprotectedResult = Task.Run(async () => await republishHandler.CommitAsync(reprotectedFilePath)).Result;
var protectedLabel = protectedFileHandler.Label;
Console.WriteLine(string.Format("Originally protected file: {0}", protectedFilePath));
Console.WriteLine(string.Format("File LabelID: {0} \r\nProtectionOwner: {1} \r\nIsProtected: {2}",
protectedLabel.Label.Id,
protectedFileHandler.Protection.Owner,
protectedLabel.IsProtectionAppliedFromLabel.ToString()));
var reprotectedLabel = republishHandler.Label;
Console.WriteLine(string.Format("Reprotected file: {0}", reprotectedFilePath));
Console.WriteLine(string.Format("File LabelID: {0} \r\nProtectionOwner: {1} \r\nIsProtected: {2}",
reprotectedLabel.Label.Id,
republishHandler.Protection.Owner,
reprotectedLabel.IsProtectionAppliedFromLabel.ToString()));
Console.WriteLine("Press a key to continue.");
Console.ReadKey();
}
Main() sonuna doğru, önceki hızlı başlangıçta oluşturulan uygulama kapatma bloğunu bulun ve kaynakları serbest bırakmak için aşağıdaki işleyici satırlarını ekleyin.
protectedFileHandler = null; protectionHandler = null;Aşağıdaki değerleri kullanarak kaynak koddaki yer tutucu değerlerini değiştirin:
Yer tutucu Değer <korunmuş dosya yolu> Önceki hızlı başlatmadan korunan dosya. <yeniden korunmuş dosya yolu> Değiştirilen dosyanın yeniden yayımlandığı çıkış dosyası yolu.
Uygulamayı derleme ve test etme
İstemci uygulamanızı derleyin ve test edin.
İstemci uygulamanızı derlemek için CTRL-SHIFT-B (Çözümü Derle) kullanın. Derleme hatanız yoksa, uygulamanızı çalıştırmak için F5 (Hata ayıklamayı başlat) kullanın.
Projeniz başarıyla derlenip çalıştırılırsa, SDK yönteminizi her çağırdığında uygulama Microsoft Authentication Library (MSAL) kullanarak kimlik doğrulaması
AcquireToken(). Önbelleğe alınmış kimlik bilgileri zaten varsa, oturum açmanız istenmez ve doğrudan etiketler listesini görebilir, ardından uygulanan etiketle ilgili bilgileri ve değiştirilen dosyayı inceleyebilirsiniz.
Personal : 73c47c6a-eb00-4a6a-8e19-efaada66dee6
Public : 73254501-3d5b-4426-979a-657881dfcb1e
General : da480625-e536-430a-9a9e-028d16a29c59
Confidential : 569af77e-61ea-4deb-b7e6-79dc73653959
Highly Confidential : 905845d6-b548-439c-9ce5-73b2e06be157
Press a key to continue.
Getting the label committed to file: C:\Test\Test_protected.docx
File Label: Confidential
IsProtected: True
Press a key to continue.
Originally protected file: C:\Test\Test_protected.docx
File LabelID: 569af77e-61ea-4deb-b7e6-79dc73653959
ProtectionOwner: User1@Contoso.OnMicrosoft.com
IsProtected: True
Reprotected file: C:\Test\Test_reprotected.docx
File LabelID: 569af77e-61ea-4deb-b7e6-79dc73653959
ProtectionOwner: User1@Contoso.OnMicrosoft.com
IsProtected: True
Press a key to continue.