Jelszóval védett bemutatók JavaScriptben
Áttekintés
A nyitó jelszó titkosítja a bemutatót. A helyes jelszó szükséges a bemutató tartalmának betöltéséhez és megtekintéséhez, így ez a védelem bizalmasságot biztosít.
A nyitó jelszó különbözik az írásvédelmi jelszótól. Az írásvédelem korlátozza a módosítást, de nem titkosítja a tartalmat, és nem akadályozza meg a bemutató betöltését. A bemutatók módosításához szükséges jelszavak kezeléséhez tekintse meg a Írásvédett bemutatók oldalt.
Az alábbi munkafolyamatok mind a PPT, mind a PPTX bemutatókra vonatkoznak. A példák mindkét formátumot használják, ahol a fájl‑alapú és adatfolyam‑alapú viselkedés fontos.
Bemutató titkosítása nyitó jelszóval
Használja a ProtectionManager.encrypt metódust a nyitó jelszó megadásához. Ezután a Presentation.save segítségével mentse el a titkosított bemutatót.
A következő példa egy PPTX bemutatót titkosít:
const slides = require("aspose.slides.via.java");
const presentation = new slides.Presentation("pres.pptx");
try {
presentation.getProtectionManager().encrypt("open_password");
presentation.save("encrypted-pres.pptx", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
A dokumentumtulajdonságok nyilvánosak tartása
Alapértelmezés szerint az Aspose.Slides a dokumentumtulajdonságokat is belefoglalja a bemutató titkosításába. A ProtectionManager.setEncryptDocumentProperties metódus ezt a viselkedést a diatartalom titkosításától függetlenül szabályozza. Hívja meg a ProtectionManager.encrypt metódust false értékkel, ha egy indexelő, osztályozó, kereső vagy dokumentumkezelő rendszernek a metaadatokat a nyitó jelszó nélkül kell olvasnia.
A következő példa egy titkosított PPTX bemutatót hoz létre, miközben beépített dokumentumtulajdonságait nyilvánosan hagyja:
const slides = require("aspose.slides.via.java");
const presentation = new slides.Presentation();
try {
const properties = presentation.getDocumentProperties();
properties.setAuthor("Contoso Knowledge Management");
properties.setTitle("Quarterly Product Roadmap");
properties.setKeywords("roadmap, planning, internal");
presentation.getSlides().get_Item(0).setName("Encrypted presentation content");
presentation.getProtectionManager().setEncryptDocumentProperties(false);
presentation.getProtectionManager().encrypt("open_password");
presentation.save("public-properties-encrypted.pptx", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
false átadása a ProtectionManager.setEncryptDocumentProperties metódusnak nem teszi a diákat, mestereket, elrendezéseket, alakzatokat, médiát vagy a bemutató egyéb tartalmát nyilvánossá. Csak a dokumentumtulajdonságokra van hatással. A titkosított tartalom betöltése nélkül ezeknek a tulajdonságoknak az olvasásához tekintse meg a Bemutató tulajdonságok kezelése oldalt.
Titkosított bemutató betöltése
Állítsa be a LoadOptions.setPassword opciót a nyitó jelszóra, és adja át ezt a beállítást a Presentation betöltésekor. A betöltés sikertelen, ha nyitó jelszó szükséges, de a megadott jelszó hiányzik vagy helytelen.
const slides = require("aspose.slides.via.java");
const loadOptions = new slides.LoadOptions();
loadOptions.setPassword("open_password");
const presentation = new slides.Presentation("encrypted-pres.pptx", loadOptions);
try {
// Dolgozz a visszafejtett bemutatóval.
} finally {
presentation.dispose();
}
Titkosítás eltávolítása a bemutatóból
Töltse be a bemutatót a nyitó jelszóval, hívja meg a ProtectionManager.removeEncryption metódust, majd mentse el az eredményt. A mentett bemutató ezután jelszó nélkül betölthető.
const slides = require("aspose.slides.via.java");
const loadOptions = new slides.LoadOptions();
loadOptions.setPassword("open_password");
const presentation = new slides.Presentation("encrypted-pres.pptx", loadOptions);
try {
presentation.getProtectionManager().removeEncryption();
presentation.save("encryption-removed.pptx", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Nyitó jelszó ellenőrzése betöltés előtt
Használja a PresentationFactory.getPresentationInfo metódust a PresentationInfo beszerzéséhez anélkül, hogy teljes bemutató példányt hozna létre. A jelszó kérése vagy ellenőrzése előtt ellenőrizze a PresentationInfo.isPasswordProtected állapotát. Ha védelem van, ellenőrizze a megadott értéket a PresentationInfo.checkPassword metódussal.
Fájlútvonal munkafolyamat
Az alábbi példa egy PPTX fájl nyitó jelszavát ellenőrzi, a validált értéket átadja a LoadOptions.setPassword metódusnak, majd betölti a teljes bemutatót:
const slides = require("aspose.slides.via.java");
const filePath = "protected-presentation.pptx";
const password = "open_password";
const presentationInfo = slides.PresentationFactory.getInstance().getPresentationInfo(filePath);
if (!presentationInfo.isPasswordProtected()) {
console.log("The presentation does not have an opening password.");
} else if (!presentationInfo.checkPassword(password)) {
console.log("The opening password is incorrect.");
} else {
const loadOptions = new slides.LoadOptions();
loadOptions.setPassword(password);
const presentation = new slides.Presentation(filePath, loadOptions);
try {
console.log("The presentation was validated and loaded successfully.");
} finally {
presentation.dispose();
}
}
Adatfolyam munkafolyamat
Használja a PresentationFactory.getPresentationInfoFromStream metódust egy Node.js olvasható adatfolyam vizsgálatához. Miután a vizsgálati adatfolyam felhasználásra került, hozzon létre egy új adatfolyamot, mielőtt a teljes bemutatót a Presentation.createPresentationFromStream metódussal betöltené.
A következő példa egy PPT fájlt használ:
const slides = require("aspose.slides.via.java");
const fs = require("fs");
const filePath = "protected-presentation.ppt";
const password = "open_password";
const presentationFactory = slides.PresentationFactory.getInstance();
const infoStream = fs.createReadStream(filePath);
slides.PresentationFactory.getPresentationInfoFromStream(presentationFactory, infoStream, function(infoError, presentationInfo) {
if (infoError) {
console.log("The presentation information could not be read: " + infoError.message);
} else if (!presentationInfo.isPasswordProtected()) {
console.log("The presentation does not have an opening password.");
} else if (!presentationInfo.checkPassword(password)) {
console.log("The opening password is incorrect.");
} else {
const loadOptions = new slides.LoadOptions();
loadOptions.setPassword(password);
const presentationStream = fs.createReadStream(filePath);
slides.Presentation.createPresentationFromStream(presentationStream, loadOptions, function(loadError, presentation) {
if (loadError) {
console.log("The presentation could not be loaded: " + loadError.message);
} else {
try {
console.log("The presentation was validated and loaded successfully.");
} finally {
presentation.dispose();
}
}
});
}
});
checkPassword visszatérési értékek
Az PresentationInfo.checkPassword csak akkor ad vissza true értéket, ha a bemutató rendelkezik nyitó jelszóval és a megadott jelszó helyes. false értéket ad vissza a következő esetekben:
- A jelszó helytelen.
- A bemutató nem rendelkezik nyitó jelszóval.
- A megadott jelszó
nullvagy üres.
A viselkedés ugyanaz PPT és PPTX bemutatók esetén.
Ellenőrizze, hogy a betöltött bemutató titkosított-e
A bemutató helyes jelszóval történő betöltése után ellenőrizze a ProtectionManager.isEncrypted állapotát, hogy megerősítse, a forrásbemutató titkosítva volt-e. A nyitó jelszó védelmének betöltés előtti felismeréséhez használja a PresentationInfo.isPasswordProtected metódust, ahogy fentebb látható.
const slides = require("aspose.slides.via.java");
const loadOptions = new slides.LoadOptions();
loadOptions.setPassword("open_password");
const presentation = new slides.Presentation("encrypted-pres.pptx", loadOptions);
try {
const isEncrypted = presentation.getProtectionManager().isEncrypted();
console.log("The presentation is encrypted: " + isEncrypted);
} finally {
presentation.dispose();
}
Biztonsági ajánlások
Security
Ne naplózza a nyitó jelszavakat, és ne helyezze őket diagnosztikai üzenetekbe. Kerülje a szükségtelen ismételt ellenőrzési kísérleteket, tartsa a jelszavakat memóriában csak annyira, amennyi szükséges, és használja újra a sikeres ellenőrzés eredményét, ha azonnal betölti a bemutatót.
A nyilvános dokumentumtulajdonságok felfedhetik a szerző neveit, címeket, tárgyakat, kulcsszavakat, vállalati információkat, megjegyzéseket és egyéni értékeket, még akkor is, ha a bemutató tartalma titkosított. Titkosítsa a érzékeny metaadatokat együtt a bemutatóval. A tulajdonságok nyilvánosra hagyása csak akkor legyen szándékos döntés, amikor a rendszereknek a fájlt nyitó jelszó nélkül kell indexelniük, osztályozniuk, keresniük vagy kezelniük.
Bemutató jelszóvédelme online
- Nyissa meg az Aspose.Slides Lock alkalmazást.
- Válassza ki vagy töltse fel a bemutatót.
- Adjon meg egy jelszót a megtekintés védelméhez.
- Opcionálisan adjon meg egy külön jelszót a szerkesztés védelméhez.
- Alkalmazza a védelmet, majd töltse le a kapott fájlt.
GYIK
Mi a különbség a nyitó jelszó és az írásvédelmi jelszó között?
A nyitó jelszó titkosítja a bemutatót, és szükséges a tartalom betöltéséhez. Az írásvédelmi jelszó a módosítást korlátozza anélkül, hogy titkosítaná a tartalmat.
Ellenőrizhetem a nyitó jelszót anélkül, hogy az összes diát betölteném?
Igen. Szerezze meg a bemutató információkat, ellenőrizze, hogy a nyitó jelszó védelem jelen van-e, és validálja a jelszót még a teljes bemutató példány létrehozása előtt.
Olvashat egy alkalmazás metaadatokat a nyitó jelszó nélkül?
Igen, de csak akkor, ha a bemutató a dokumentumtulajdonságok titkosítása letiltásával lett titkosítva. Az alkalmazásnak ekkor a Bemutató tulajdonságok kezelése leírt dokumentumtulajdonság‑csak betöltési módot kell használnia.
Támogatja a jelszó‑ellenőrző munkafolyamatok a PPT és PPTX formátumokat egyaránt?
Igen. A fájlútvonal és adatfolyam alapú jelszó‑detektálás és ellenőrzés ugyanúgy működik PPT és PPTX bemutatók esetén.