Írásvédett prezentációk .NET környezetben

Bevezetés

A írásvédelmi jelszó korlátozza egy prezentáció módosítását, de nem titkosítja annak tartalmát. A felhasználók a jelszó nélkül is betölthetik és megtekinthetik az írásvédett prezentációt. Az alkalmazástól függően szerkeszthetik is a tartalmat, és más néven elmenthetik, ezért az írásvédelmet nem szabad bizalmasági mechanizmusként kezelni.

A nyitó jelszó más célra szolgál: titkosítja a prezentációt, és szükséges a tartalom betöltéséhez. A prezentáció titkosításához vagy egy nyitó jelszó ellenőrzéséhez tekintse meg a Jelszóval védett prezentációk oldalt.

A cikkben szereplő munkafolyamatok mind a PPT, mind a PPTX prezentációkra vonatkoznak. A példák PPTX fájlokat használnak; PPT formátumba mentéskor használja a .ppt kiterjesztést és a megfelelő PPT mentési formátumot.

Írásvédelem beállítása a prezentáción

Az IProtectionManager.SetWriteProtection használatával adhat meg jelszót a prezentáció módosításához. A prezentáció mentése megőrzi a védelmi beállítást.

Az alábbi példa írásvédelmet állít be egy PPTX prezentáción:

using Aspose.Slides;
using Aspose.Slides.Export;

using var presentation = new Presentation("pres.pptx");

presentation.ProtectionManager.SetWriteProtection("modify_password");
presentation.Save("write-protected-pres.pptx", SaveFormat.Pptx);

Írásvédett prezentáció betöltése

Mivel az írásvédelem nem titkosítja a prezentáció tartalmát, a prezentáció betöltéséhez nem szükséges jelszó. A jelszó csak akkor releváns, amikor a védett prezentáció módosítási jogosultságát ellenőrizni kell.

using System;
using Aspose.Slides;

using var presentation = new Presentation("write-protected-pres.pptx");

Console.WriteLine("Slide count: " + presentation.Slides.Count);

Ne adjon meg írásvédelmi jelszót a LoadOptions.Password tulajdonságnak. Ez a tulajdonság titkosított tartalomhoz nyitó jelszót vár. Ha egy prezentáció mindkét védelmet tartalmazza, adja meg a nyitó jelszót a betöltéshez, és az írásvédelmi jelszót külön kezelje.

Írásvédelem eltávolítása egy prezentációból

Az IProtectionManager.RemoveWriteProtection használatával távolítsa el a módosítási korlátozást, majd mentse a prezentációt.

using Aspose.Slides;
using Aspose.Slides.Export;

using var presentation = new Presentation("write-protected-pres.pptx");

presentation.ProtectionManager.RemoveWriteProtection();
presentation.Save("write-protection-removed.pptx", SaveFormat.Pptx);

Ellenőrzés, hogy a prezentáció írásvédett-e

Egy fájl vizsgálatához anélkül, hogy teljes Presentation példányt hozna létre, hívja meg az IPresentationFactory.GetPresentationInfo metódust, és ellenőrizze az IPresentationInfo.IsWriteProtected tulajdonságot. A tulajdonság a NullableBool típust használja, és NullableBool.True értéket ad vissza, ha írásvédelmet észlel.

using System;
using Aspose.Slides;

var presentationInfo = PresentationFactory.Instance.GetPresentationInfo("write-protected-pres.pptx");

if (presentationInfo.IsWriteProtected == NullableBool.True)
{
    Console.WriteLine("The presentation is write protected.");
}
else
{
    Console.WriteLine("Write protection was not detected.");
}

Az IPresentationFactory.GetPresentationInfo stream túlterhelése ugyanazt az információt adja egy streamként megadott prezentáció esetén.

Írásvédelmi jelszó ellenőrzése

Az IPresentationInfo.CheckWriteProtection használatával ellenőrizhet egy módosítási jelszót a teljes prezentáció betöltése nélkül. Először ellenőrizze az IPresentationInfo.IsWriteProtected tulajdonságot, hogy az alkalmazás csak írásvédelem esetén kérjen vagy ellenőrizzen jelszót.

using System;
using Aspose.Slides;

var presentationInfo = PresentationFactory.Instance.GetPresentationInfo("write-protected-pres.pptx");

if (presentationInfo.IsWriteProtected != NullableBool.True)
{
    Console.WriteLine("The presentation is not write protected.");
}
else if (presentationInfo.CheckWriteProtection("modify_password"))
{
    Console.WriteLine("The write-protection password is correct.");
}
else
{
    Console.WriteLine("The write-protection password is incorrect.");
}

IPresentationInfo.CheckWriteProtection csak az írásvédelmi jelszót ellenőrzi. Nem ellenőriz nyitó jelszót, illetve nem határozza meg, hogy a titkosított tartalom betölthető-e. Ezzel ellentétben a IPresentationInfo.CheckPassword csak egy nyitó jelszót ellenőriz. Ha a teljes prezentáció már be van töltve, az IProtectionManager.CheckWriteProtection ugyanazt az írásvédelmi ellenőrzést biztosít a védelmi menedzserén keresztül.

Éles alkalmazásokban ne naplózza a jelszavakat, és ne vegye bele őket a diagnosztikai üzenetekbe. Kerülje a felesleges, ismétlődő ellenőrzési kísérleteket, és a jelszavakat csak a szükséges ideig tartsa memóriában.

GYIK

Titkosítja-e a írásvédelem a prezentációt?

Nem. Korlátozza a módosítást, de a prezentáció tartalma továbbra is betölthető és megtekinthető.

Szükséges-e az írásvédelmi jelszó a prezentáció megnyitásához?

Nem. Csak egy nyitó jelszó szükséges a titkosított prezentáció tartalmának betöltéséhez.

Lehet-e egy prezentációnak egyszerre nyitó és írásvédelmi jelszava?

Igen. A nyitó jelszót a betöltési beállításokban adja meg a titkosított prezentáció megnyitásához, az írásvédelmi jelszót pedig külön ellenőrizze, amikor a módosítási jogosultságra van szükség.