Java'da Yazma Koruması ile Sunumları Koruma
Giriş
Yazma koruması şifresi bir sunumun değiştirilmesini kısıtlar ancak içeriğini şifrelemez. Kullanıcılar, şifre olmadan yazma korumalı bir sunumu yükleyebilir ve görüntüleyebilir. Uygulamaya bağlı olarak, içeriği düzenleyebilir ve farklı bir adla kaydedebilirler, bu nedenle yazma koruması gizlilik mekanizması olarak değerlendirilmemelidir.
Açma şifresi farklı bir amaç hizmet eder: sunumu şifreler ve içeriğini yüklemek için gereklidir. Bir sunumu şifrelemek veya açma şifresini doğrulamak için Password-Protect Presentations bölümüne bakın.
Bu makaledeki çalışma akışları hem PPT hem de PPTX sunumları için geçerlidir. Örnekler PPTX dosyalarını kullanır; PPT olarak kaydederken .ppt uzantısını ve ilgili PPT kaydetme biçimini kullanın.
Sunuma Yazma Koruması Ayarlama
Bir sunumu değiştirmek için şifre atamak amacıyla IProtectionManager.setWriteProtection yöntemini kullanın. Sunumu kaydetmek koruma ayarını kalıcı hâle getirir.
Aşağıdaki örnek bir PPTX sunumuna yazma koruması ekler:
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
Presentation presentation = new Presentation("pres.pptx");
try {
presentation.getProtectionManager().setWriteProtection("modify_password");
presentation.save("write-protected-pres.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Yazma Koruması Olan Sunumu Yükleme
Yazma koruması sunum içeriğini şifrelemediği için sunumu yüklemek için şifre gerekmez. Şifre yalnızca korumalı sunumu değiştirme yetkisini doğrularken relevandır.
import com.aspose.slides.Presentation;
Presentation presentation = new Presentation("write-protected-pres.pptx");
try {
System.out.println("Slide count: " + presentation.getSlides().size());
} finally {
presentation.dispose();
}
Yazma koruması şifresini ILoadOptions.setPassword metoduna geçirmeyin. Bu metod şifreli içerik için bir açma şifresi alır. Bir sunumda her iki koruma türü de varsa, onu yüklemek için açma şifresini sağlayın ve yazma koruması şifresini ayrı olarak işleyin.
Sunumdan Yazma Korumasını Kaldırma
IProtectionManager.removeWriteProtection yöntemini kullanarak değişiklik kısıtlamasını kaldırın, ardından sunumu kaydedin.
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
Presentation presentation = new Presentation("write-protected-pres.pptx");
try {
presentation.getProtectionManager().removeWriteProtection();
presentation.save("write-protection-removed.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sunumun Yazma Koruması Olup Olmadığını Kontrol Etme
Bir dosyayı tam bir Presentation örneği oluşturmadan incelemek için IPresentationFactory.getPresentationInfo metodunu çağırın ve IPresentationInfo.isWriteProtected özelliğine bakın. Metot NullableBool kullanır ve yazma koruması tespit edildiğinde NullableBool.True döndürür.
import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.NullableBool;
import com.aspose.slides.PresentationFactory;
IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo("write-protected-pres.pptx");
if (presentationInfo.isWriteProtected() == NullableBool.True) {
System.out.println("The presentation is write protected.");
} else {
System.out.println("Write protection was not detected.");
}
IPresentationFactory.getPresentationInfo metodunun akış aşırı yüklemesi, akış olarak sağlanan bir sunum için aynı bilgileri sunar.
Yazma Koruma Şifresini Doğrulama
Tam bir sunumu yüklemeden bir değişiklik şifresini doğrulamak için IPresentationInfo.checkWriteProtection metodunu kullanın. Uygulamanın şifre talep etmesi veya doğrulaması yalnızca yazma koruması mevcut olduğunda gerçekleşsin diye önce IPresentationInfo.isWriteProtected kontrol edin.
import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.NullableBool;
import com.aspose.slides.PresentationFactory;
IPPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo("write-protected-pres.pptx");
if (presentationInfo.isWriteProtected() != NullableBool.True) {
System.out.println("The presentation is not write protected.");
} else if (presentationInfo.checkWriteProtection("modify_password")) {
System.out.println("The write-protection password is correct.");
} else {
System.out.println("The write-protection password is incorrect.");
}
IPresentationInfo.checkWriteProtection sadece yazma koruma şifresini doğrular. Açma şifresini doğrulamaz ve şifreli içeriğin yüklenip yüklenemeyeceğini belirlemez. Buna karşılık, IPresentationInfo.checkPassword sadece açma şifresini doğrular. Tam bir sunum zaten yüklendiyse, IProtectionManager.checkWriteProtection koruma yöneticisi aracılığıyla eşdeğer bir yazma koruma kontrolü sağlar.
Üretim uygulamalarında şifreleri loglamayın veya tanı mesajlarına dahil etmeyin. Gereksiz tekrar doğrulama denemelerinden kaçının ve şifreleri bellekte yalnızca ihtiyaç duyulduğu süre kadar tutun.
Ayrıca bakınız
SSS
Yazma koruması bir sunumu şifreler mi?
Hayır. Değişikliği kısıtlar ancak sunum içeriğini yükleme ve görüntüleme için erişilebilir bırakır.
Yazma koruma şifresi bir sunumu açmak için gerekli mi?
Hayır. Şifreli sunum içeriğini yüklemek için yalnızca bir açma şifresi gerekir.
Bir sunum hem açma şifresi hem de yazma koruma şifresi taşıyabilir mi?
Evet. Şifreli sunumu açmak için yükleme seçenekleri aracılığıyla açma şifresini sağlayın ve değişiklik yetkisi gerektiğinde yazma koruma şifresini ayrı olarak doğrulayın.