ฉันเป็นสมาชิกของสมาคมกีฬาและฉันกำลังพัฒนาแอปพลิเคชัน JavaFX อย่างง่ายสำหรับจัดการใบอนุญาตของสมาชิก
แอปพลิเคชันนี้จะใช้กับโน้ตบุ๊กโดยไม่ต้องเชื่อมต่อใดๆ แอปพลิเคชันนี้จะต้องออฟไลน์โดยได้รับการป้องกันโดยผู้ใช้/รหัสผ่าน มันจะทำงานบนบัญชี Windows ที่ใช้ร่วมกัน
แอปพลิเคชันจะต้องติดตั้งและใช้งานได้ง่ายที่สุด (อายุผู้ใช้โดยเฉลี่ยประมาณ 60-70 ปี) ดังนั้นสำหรับการจัดเก็บข้อมูล ฉันวางแผนที่จะใช้ฐานข้อมูล Java แบบฝัง (ฉันเริ่มต้นด้วย H2 ในโหมดไฟล์ db แต่ฉันสามารถเปลี่ยนไปใช้เอ็นจิ้นอื่นได้ ) ด้วยข้อจำกัดผู้ใช้บางประการ
ทุกอย่างทำงานได้จนถึงตอนนี้และผู้ใช้สามารถเข้าถึงข้อมูลที่ต้องการได้เท่านั้น แต่ปัญหาของฉันคือทุกคนที่สามารถเข้าถึงโน้ตบุ๊กสามารถเปิดไฟล์ DB ได้อย่างอิสระด้วยแผ่นจดบันทึกหรืออย่างอื่น และดูข้อมูลที่เป็นความลับทั้งหมด
ฉันรู้ว่า H2 มีการเข้ารหัสฐานข้อมูลบางอย่าง และฉันทดสอบด้วย AES และมันใช้งานได้จนถึงตอนนี้ แต่ฉันไม่รู้ว่าจะจัดการกับรหัสผ่าน DB ได้อย่างไร
DB ต้องมีรหัสผ่านเดียว แต่ฉันต้องการให้แอปพลิเคชันสามารถเข้าถึงได้และเริ่มต้นโดยผู้ใช้ใดๆ โดยไม่ได้รับความช่วยเหลือจากผู้ดูแลระบบ (เช่น ใครจะป้อนรหัสผ่านหลัก)
ฉันจะรักษาความปลอดภัยข้อมูลในฐานข้อมูลและทำให้ผู้ใช้หลายคนสามารถใช้งานได้โดยไม่ต้องมีผู้ดูแลระบบเข้ามาเกี่ยวข้องได้อย่างไร