ความท้าทายที่นี่คือการเข้าถึงฐานข้อมูลของคุณได้รับการจัดการโดยนามธรรม แทนที่จะเป็นผู้ใช้ที่เชื่อมต่อด้วยตนเองพวกเขาจะใช้ความเป็นตัวตนของบทบาทแอปพลิเคชันทั่วไป คุณไม่เพียง แต่สูญเสียการมองเห็นของการเชื่อมต่อส่วนบุคคล แต่คุณยังสูญเสียรายละเอียดการเข้าถึงประเภทต่างๆสำหรับผู้ใช้แต่ละคน
เหตุผลหลักสำหรับการใช้วิธีนี้คือความเรียบง่าย แอปพลิเคชันจำนวนมากได้รับการออกแบบเพื่อให้ผู้ใช้แอปพลิเคชันไม่มีความรู้เกี่ยวกับฐานข้อมูล พวกเขาไม่ต้องการมันโดยเฉพาะอย่างยิ่งหากแอปพลิเคชันจัดการความปลอดภัยภายในของตัวเอง ผู้ใช้ส่วนใหญ่จะไม่เชื่อมต่อกับฐานข้อมูลโดยตรงดังนั้นการกำหนดล็อกอินที่ชัดเจนสำหรับพวกเขาจึงไม่จำเป็น
ครั้งเดียวที่คุณควรพิจารณาให้ฐานข้อมูลจัดการความปลอดภัยของคุณคือถ้าคุณมีผู้ใช้ที่จะเชื่อมต่อโดยตรงกับฐานข้อมูลของคุณ ซึ่งหมายความว่าพวกเขากำลังดำเนินการแอปพลิเคชันของคุณและไม่สามารถบังคับใช้การรักษาความปลอดภัยได้อีกต่อไป ข้อดีคือคุณสามารถกำหนดความปลอดภัยของคุณได้อย่างละเอียดยิ่งขึ้น ข้อเสียคือค่าใช้จ่ายที่สูงขึ้นสำหรับการจัดการผู้ใช้และการอนุญาต
ถ้าคุณรู้สึกว่าต้องทำสำหรับการจัดเรียงของการเข้าถึงนี้คุณต้องการที่จะใช้งานตามบทบาทการควบคุมการเข้าถึง คุณควรกำหนดบทบาทตามประเภทของสิทธิ์ที่จำเป็นในฐานข้อมูลของคุณจากนั้นจัดกลุ่มผู้ใช้แต่ละรายภายใต้บทบาทเหล่านั้น สิ่งนี้ช่วยให้คุณสามารถตรวจสอบและควบคุมรูปแบบความปลอดภัยของคุณได้ดีขึ้นซึ่งสามารถหมุนวนอย่างไม่สามารถควบคุมได้เมื่อจัดการการเข้าถึงโดยตรง
มีวิธีการแบบผสมนี้ หากคุณต้องการให้ความปลอดภัยของคุณถูกจัดการโดยฐานข้อมูลบางส่วนคุณสามารถสร้างผู้ใช้แอปพลิเคชั่นได้หลายคนโดยแต่ละคนกำหนดโดยบทบาทของพวกเขาและให้สิทธิ์การเข้าถึงแก่ผู้ใช้เหล่านั้นอย่างชัดเจนตามบทบาทที่พวกเขาปฏิบัติ ซึ่งหมายความว่าคุณสามารถใช้เอนจิ้นฐานข้อมูลสำหรับรูปแบบความปลอดภัยบางอย่างของคุณ แต่คุณยังต้องมีการจัดการบางอย่างภายในแอปพลิเคชัน มันเพิ่มความซับซ้อนของโมเดลผู้ใช้แอปพลิเคชัน แต่จะให้รายละเอียดปลีกย่อยแก่คุณในการล็อกอินที่แตกต่างกันในการใช้งาน