ใช้การจัดการการอนุญาตผู้ใช้ในระบบธุรกิจ
การอนุญาตในระบบ B/S มีความสำคัญมากกว่าใน C/S เนื่องจากระบบ C/S มีไคลเอนต์พิเศษการตรวจจับการอนุญาตของผู้ใช้การเข้าถึงสามารถนำไปใช้ผ่านไคลเอนต์หรือผ่านการตรวจจับไคลเอนต์ + เซิร์ฟเวอร์ ใน B/S เบราว์เซอร์พร้อมใช้งานสำหรับคอมพิวเตอร์ทุกเครื่องแล้ว หากไม่ได้รับการตรวจจับการอนุญาตที่สมบูรณ์ "ผู้ใช้ที่ผิดกฎหมาย" มีแนวโน้มที่จะเข้าถึงฟังก์ชั่นทั้งหมดในระบบ B/S ผ่านเบราว์เซอร์ได้อย่างง่ายดาย ดังนั้นระบบธุรกิจ B/S จำเป็นต้องมีระบบการอนุญาตอย่างน้อยหนึ่งระบบเพื่อใช้การตรวจจับการอนุญาตการเข้าถึงเพื่อให้ผู้ใช้ที่ได้รับอนุญาตสามารถใช้ฟังก์ชั่นที่ได้รับอนุญาตตามปกติและถูกต้องตามกฎหมายและ "ผู้ใช้ที่ผิดกฎหมาย" ที่ไม่ได้รับอนุญาตจะ "ปฏิเสธพวกเขา" อย่างสมบูรณ์ ลองมาดูวิธีการออกแบบระบบการอนุญาตที่สามารถควบคุมการอนุญาตฟังก์ชั่นของผู้ใช้ในระบบ B/S ส่วนใหญ่
คำสั่งข้อกำหนด
•บุคลากรที่มีความรับผิดชอบที่แตกต่างกันควรมีสิทธิ์ที่แตกต่างกันสำหรับการดำเนินงานของระบบ ระบบธุรกิจที่ยอดเยี่ยมนี่เป็นฟังก์ชั่นพื้นฐานที่สุด
•คุณสามารถกำหนดสิทธิ์ให้กับกลุ่ม สำหรับระบบธุรกิจขององค์กรขนาดใหญ่มันใช้เวลานานและไม่สะดวกในการขอให้ผู้ดูแลระบบมอบหมายสิทธิ์การดำเนินงานระบบให้กับพนักงานของพวกเขาทีละคน ดังนั้นระบบจึงเสนอแนวคิดของการดำเนินงานใน "กลุ่ม" และจัดระเบียบคนที่มีสิทธิ์อย่างสม่ำเสมอในกลุ่มเดียวกันจากนั้นจัดสรรสิทธิ์ให้กับกลุ่ม
•ระบบการจัดการการอนุญาตควรขยายได้ มันควรจะสามารถเข้าร่วมระบบใด ๆ ที่มีความสามารถในการจัดการการอนุญาต เช่นเดียวกับส่วนประกอบพวกเขาสามารถนำกลับมาใช้ใหม่ได้อย่างต่อเนื่องแทนที่จะพัฒนาส่วนการจัดการการอนุญาตสำหรับทุกระบบการจัดการที่พัฒนาขึ้น
•ตอบสนองการอนุญาตการทำงานในระบบธุรกิจ ในระบบธุรกิจแบบดั้งเดิมมีการจัดการการอนุญาตสองประเภท หนึ่งคือการจัดการการอนุญาตการทำงานและอื่น ๆ คือการจัดการของการอนุญาตทรัพยากร ระหว่างระบบที่แตกต่างกันการอนุญาตการทำงานสามารถนำกลับมาใช้ใหม่ได้ในขณะที่การอนุญาตทรัพยากรไม่สามารถทำได้
เกี่ยวกับการออกแบบ
ด้วยความช่วยเหลือของแนวคิดการเขียนโปรแกรมแอ็คชั่นของ Noahweb ในขั้นตอนการออกแบบนักออกแบบระบบไม่จำเป็นต้องพิจารณาการออกแบบโครงสร้างโปรแกรม แต่เริ่มต้นด้วยการไหลของโปรแกรมและโครงสร้างฐานข้อมูล เพื่อให้ตระหนักถึงข้อกำหนดการออกแบบฐานข้อมูลมีความสำคัญอย่างยิ่ง ไม่ว่าจะเป็นแนวคิดของการดำเนินการ "กลุ่ม" หรือความสามารถในการนำกลับมาใช้ใหม่ของชุดระบบการจัดการการอนุญาตทั้งหมดอยู่ในการออกแบบฐานข้อมูล
มาวิเคราะห์โครงสร้างฐานข้อมูลก่อน:
ขั้นแรกตารางการดำเนินการ ( ต่อไปนี้จะเรียกว่า "ตารางการอนุญาต" ) ตาราง GorupManager ( ต่อไปนี้เรียกว่า "ตารางการจัดการ" ) และตารางหลัก ( ต่อไปนี้จะเรียกว่า "ตารางบุคลากร" ) เป็นสามตารางเอนทิตีที่บันทึกข้อมูลของ "การอนุญาต" ดังที่แสดงในรูปด้านล่าง:
ความสัมพันธ์ระหว่างสองตารางนี้มีหลายต่อหลายคน การอนุญาตหนึ่งครั้งอาจเป็นของกลุ่มการจัดการหลายกลุ่มในเวลาเดียวกันและกลุ่มผู้บริหารหนึ่งอาจมีการอนุญาตหลายครั้งในเวลาเดียวกัน ในทำนองเดียวกันบุคคลอาจอยู่ในกลุ่มการจัดการหลายกลุ่มในเวลาเดียวกันและกลุ่มผู้บริหารอาจรวมถึงบุคลากรหลายคนในเวลาเดียวกัน ดังที่แสดงในรูปด้านล่าง:
เนื่องจากมีความสัมพันธ์แบบหลายต่อหลายครั้งระหว่างสองตารางนี้จึงเป็นการดีที่สุดที่จะใช้อีกสองตารางเพื่อให้การโต้ตอบเสร็จสมบูรณ์ สองตารางนี้มีบทบาทการแมปคือตาราง "ActionGroup" (ต่อไปนี้จะเรียกว่า "ตารางการทำแผนที่การอนุญาต") และตาราง "MasterGroup" (ต่อไปนี้เรียกว่า "ตารางการแมปบุคลากร") แผนที่เดิมการโต้ตอบระหว่างตารางการอนุญาตและตารางกลุ่มการจัดการ หลังแผนที่ปฏิสัมพันธ์ระหว่างตารางบุคลากรและตารางกลุ่มการจัดการ ดังที่แสดงในรูปด้านล่าง:
นอกจากนี้ยังจำเป็นต้องใช้ตารางเพื่อควบคุมคอลัมน์อนุญาตในเมนูด้านซ้ายของเวลาทำงานของระบบนั่นคือ "ตารางคอลัมน์อนุญาต" ดังแสดงในรูปด้านล่าง:
จากการวิเคราะห์ข้างต้นเราดำเนินการออกแบบโครงสร้างฐานข้อมูลดังแสดงในรูปด้านล่าง:
คลิกที่นี่เพื่อดูการออกแบบตารางข้อมูลระบบการจัดการสิทธิ์
เพื่อทำการวิเคราะห์ที่ดีเราได้แบ่งแผนภูมิโครงสร้างฐานข้อมูล บทบาทของตารางเอนทิตีทั้งสามนั้นชัดเจนมาก ทีนี้มาดูบทบาทของตารางการทำแผนที่ทั้งสอง
ตารางการทำแผนที่สิทธิ์ แสดงด้านล่าง:
ก่อนอื่นมาดูการเชื่อมโยงภาคสนามระหว่าง ตารางการทำแผนที่การอนุญาต และ ตารางกลุ่มการจัดการ และ ตารางการอนุญาต
ดูที่วงกลมสีแดงในภาพก่อนอื่นดูที่สมาคมของสนาม Gorupid ประสิทธิภาพของวิธีการเชื่อมโยงนี้ในฐานข้อมูลจริงมีดังนี้:
ดังที่แสดงในรูปที่กลุ่มของ "ผู้ดูแลระบบซุปเปอร์" ใน ตารางการจัดการ คือ 1 ดังนั้นการอนุญาตที่มี GroupID 1 ใน ตารางการทำแผนที่การอนุญาต คือการอนุญาตที่เป็นเจ้าของโดย "ผู้ดูแลระบบชั้นยอด"
ใช้การเชื่อมโยงภาคสนาม GroupID เพื่อค้นหาว่ากลุ่มผู้บริหารสามารถดำเนินการใดได้บ้าง อย่างไรก็ตามข้อมูลรายละเอียดของการอนุญาตเหล่านี้พบได้ในสมาคมสนามปฏิบัติการ
พฤติกรรมของฟิลด์การกระทำในฐานข้อมูลมีดังนี้:
ผ่านการเชื่อมโยงนี้เท่านั้นข้อมูลรายละเอียดของการอนุญาตเหล่านั้นใน ตารางการทำแผนที่การอนุญาต เท่านั้น โดยสรุปเรารู้ว่าการอนุญาตให้กลุ่มผู้บริหารสามารถดำเนินการได้อย่างไรและรายละเอียดของการอนุญาตเหล่านี้คืออะไร
บางทีคุณอาจถามว่าทำไมไม่ใช้ฟิลด์ ActionID เพื่อเชื่อมโยง? เพราะ:
•ฟิลด์ ID ในตารางสิทธิ์อาจเปลี่ยนแปลงหลังจากการดำเนินการฐานข้อมูลหลายครั้ง
•ตารางการอนุญาตให้บันทึกเฉพาะการอนุญาตที่กลุ่มผู้บริหารหนึ่งสามารถดำเนินการได้
•เมื่อ ID ในตารางการอนุญาตเปลี่ยนไปเร็กคอร์ดในตารางการอนุญาตจะเปลี่ยนไปเช่นกัน
•จะมีข้อผิดพลาดในการอนุญาตที่กลุ่มผู้ดูแลระบบสามารถดำเนินการซึ่งไม่เป็นที่พึงปรารถนามาก
เมื่อพิจารณาถึงสถานการณ์ข้างต้นฟิลด์การดำเนินการควรเกี่ยวข้องเพราะ:
•ในตารางการอนุญาต ID อาจเปลี่ยนแปลงได้ แต่ฟิลด์การดำเนินการไม่สามารถเปลี่ยนแปลงได้ไม่ว่าในกรณีใด ๆ
•ฟิลด์การดำเนินการที่บันทึกไว้ในตารางการอนุญาตจะไม่เปลี่ยนแปลง
•จะไม่มีข้อผิดพลาดในการอนุญาตที่กลุ่มผู้ดูแลระบบสามารถดำเนินการได้
ตารางการทำแผนที่สองคน มีดังนี้:
มาเรียนรู้เกี่ยวกับความสัมพันธ์ภาคสนามระหว่าง ตารางการแมปบุคลากร ตารางกลุ่มการจัดการ และ ตารางบุคลากร ดังแสดงในรูปด้านล่าง:
ดูที่ส่วนวงกลมสีแดงในภาพก่อนอื่นดูที่สมาคมสนาม GroupID วิธีการเชื่อมโยงนี้ดำเนินการในฐานข้อมูลดังแสดงในรูปด้านล่าง:
ดังที่แสดงในรูปกลุ่มของกลุ่ม "ผู้ดูแลระบบซุปเปอร์" คือ 1 มาดู ตารางการทำแผนที่บุคลากร กันเถอะ ผู้ดูแลระบบเป็นของกลุ่มผู้ดูแลระบบ Super ในขณะที่ผู้ดูแลระบบเป็นของกลุ่มผู้ดูแลระบบ Super และยังเป็นของกลุ่มผู้ดูแลระบบ
วิธีการเชื่อมโยงนี้ใช้เพื่อค้นหาว่าใครอยู่ในกลุ่มการจัดการ ดังกล่าวข้างต้นข้อมูลรายละเอียดของบุคคลนั้นถูกสอบถามโดยการเชื่อมโยงกับฟิลด์ ID (ฟิลด์ MasterID ใน ตารางการแมปบุคลากร )
ฟิลด์ ID (ฟิลด์ MasterID ใน ตารางการแมปบุคลากร ) เกี่ยวข้องกับฐานข้อมูลดังแสดงในรูปด้านล่าง:
บุคคลอาจอยู่ใน "กลุ่มการจัดการ" หลายแห่งในเวลาเดียวกัน ดังที่แสดงในรูปผู้ดูแลระบบเป็นของ "กลุ่มการจัดการ" สองกลุ่มในเวลาเดียวกัน ดังนั้นจะมีสองระเบียนเกี่ยวกับผู้ดูแลระบบใน ตารางการทำแผนที่บุคลากร
ด้วยวิธีนี้เราสามารถสอบถามข้อมูลโดยละเอียดของบุคลากรในกลุ่มการจัดการได้ โดยการรวมเข้าด้วยกันเราสามารถรู้ได้ว่าใครอยู่ในกลุ่มการจัดการและข้อมูลรายละเอียดของบุคลากรนี้
การรวม ตารางการอนุญาต และ ตารางการทำแผนที่การอนุญาต ที่กล่าวถึงข้างต้นการดำเนินการ "กลุ่ม" ในข้อกำหนดจะรับรู้ดังแสดงในรูปด้านล่าง:
ในความเป็นจริง ตารางกลุ่มการจัดการ จะบันทึกข้อมูลพื้นฐานของกลุ่มเท่านั้นเช่นชื่อรหัสกลุ่ม ฯลฯ สำหรับรายละเอียดของคนในกลุ่มรวมถึงรายละเอียดของการอนุญาตที่กลุ่มสามารถดำเนินการได้พวกเขาจะถูกบันทึกไว้ใน ตารางบุคลากร และ ตารางการอนุญาต มีเพียง ตารางการทำแผนที่ สองตารางเท่านั้นที่บันทึกผู้คนในกลุ่มใดบ้างและสามารถดำเนินการใดได้บ้าง ผ่านการเชื่อมต่อของตารางการแมปสองตารางเท่านั้นการมีปฏิสัมพันธ์ระหว่างตารางเอนทิตีทั้งสามจะรับรู้ ดังนั้นการดำเนินการ "กลุ่ม" ที่กล่าวถึงในข้อกำหนด
มาดูการโต้ตอบระหว่าง ตารางคอลัมน์อนุญาต และ ตารางสิทธิ์ ฟิลด์ระหว่างสองตารางนี้มีดังนี้:
สองตารางใช้ฟิลด์ ActionColumnId ที่จะเชื่อมโยง วิธีความสัมพันธ์ในฐานข้อมูลแสดงในรูปด้านล่าง:
ดังที่แสดงในรูปผ่านวิธีการเชื่อมโยงนี้เราสามารถดูได้อย่างชัดเจนว่าคอลัมน์ใดที่สิทธิ์ใน ตารางการอนุญาต เป็นของ
ตอนนี้โครงสร้างฐานข้อมูลมีความชัดเจนมากและฟังก์ชั่นของการกำหนดสิทธิ์และการดำเนินการ "กลุ่ม" ได้ถูกนำไปใช้ มาวิเคราะห์ปัญหาการใช้ซ้ำของระบบการจัดการการอนุญาตที่กล่าวถึงในข้อกำหนด
เหตุใดระบบที่สร้างขึ้นโดยใช้วิธีการออกแบบฐานข้อมูลนี้จะถูกนำกลับมาใช้ใหม่
องค์ประกอบที่เด็ดขาดสามประการในระบบจะถูกบันทึกไว้ในตารางเอนทิตีทั้งสาม "สิทธิ์", "กลุ่ม" และ "ผู้คน" องค์ประกอบทั้งสามนี้สามารถเพิ่มได้ตามความประสงค์โดยไม่ได้รับผลกระทบจากกันและกัน ไม่ว่าจะเป็นระบบธุรกิจประเภทใดองค์ประกอบที่เด็ดขาดทั้งสามนี้จะไม่เปลี่ยนแปลงซึ่งหมายความว่าโครงสร้างจะไม่เปลี่ยนแปลง แต่ข้อมูลเท่านั้นที่จะเปลี่ยนแปลง
ความสัมพันธ์ระหว่างองค์ประกอบทั้งสามถูกบันทึกไว้ในตารางการทำแผนที่สองตาราง แต่ความสัมพันธ์เหล่านี้ถูกสร้างขึ้นโดยมนุษย์อย่างสมบูรณ์ เมื่อจำเป็นต้องมีการเปลี่ยนแปลงพวกเขาจะทำงานเฉพาะในระเบียนในฐานข้อมูลโดยไม่ต้องเปลี่ยนโครงสร้าง
ตารางคอลัมน์อนุญาตบันทึกคอลัมน์ที่แสดงเมื่อใช้ระบบ ไม่ว่าคุณต้องการเพิ่มคอลัมน์แก้ไขคอลัมน์หรือลดคอลัมน์มันเป็นเพียงการบันทึกการทำงาน
โดยสรุปแล้วระบบสามารถนำกลับมาใช้ใหม่ได้อย่างสมบูรณ์โดยการออกแบบฐานข้อมูลด้วยวิธีนี้และสามารถทนต่อการทดสอบของ "การเปลี่ยนแปลง"
สรุป:
กุญแจสำคัญในระบบนี้คือ ตารางทางกายภาพ ทั้งสามนั้นเข้าใจส่วนประกอบหลักของระบบอย่างแน่นหนาและตารางการทำแผนที่ทั้งสองอย่างสมบูรณ์แบบแมปการปฏิสัมพันธ์ระหว่างสองตารางทางกายภาพ ความยากลำบากอยู่ในการทำความเข้าใจการทำงานของตารางการทำแผนที่ซึ่งบันทึกความสัมพันธ์และดำเนินการตามแนวคิดของการดำเนินการ "กลุ่ม" การออกแบบโดยรวมของระบบคือการตอบสนองการตั้งค่าการอนุญาตใช้งานของระบบที่แตกต่างกันโดย "นำกลับมาใช้ใหม่" ในระบบ MIS ที่แตกต่างกัน
ภาคผนวก:
การออกแบบฟิลด์ของตารางข้อมูลระบบการจัดการสิทธิ์
มาดูการออกแบบตารางฐานข้อมูลของระบบการจัดการสิทธิ์ซึ่งแบ่งออกเป็นหกตารางดังแสดงในรูปด้านล่าง:
ตารางการดำเนินการ:
ตารางการดำเนินการบันทึกการกระทำทั้งหมดในระบบและคำอธิบายที่เกี่ยวข้องกับการกระทำ
ตาราง ActionColumn:
ตาราง ActionColumn บันทึกคอลัมน์การกระทำ เมื่อระบบทำงานอยู่แถบเมนูด้านซ้ายจะมีฟังก์ชั่นที่แตกต่างกันหลายอย่าง แต่ละบล็อกเป็นคอลัมน์ แต่ละคอลัมน์จะถูกเพิ่มหนึ่งระเบียนในตารางจะถูกเพิ่ม ตามลำดับคอลัมน์ใหม่จะถูกเพิ่มลงในแถบเมนูด้านซ้าย
ตาราง ActionGroup:
ตาราง ActionGroup บันทึกกลุ่มที่มีการกระทำ
Table GroupManager:
Table GroupManager บันทึกข้อมูลที่เกี่ยวข้องเกี่ยวกับกลุ่มการจัดการ สำหรับแต่ละกลุ่มการจัดการที่เพิ่มเข้ามาจะมีการเพิ่มระเบียนหนึ่งรายการที่นี่
ตาราง mastergroup:
ตาราง MasterGroup บันทึกกลุ่มการจัดการที่ผู้ดูแลระบบอยู่ เนื่องจากผู้ดูแลระบบอาจอยู่ในหลายกลุ่มในเวลาเดียวกันอาจมีหลายระเบียนเกี่ยวกับผู้ดูแลระบบในตาราง
ตารางหลัก:
ตารางหลักบันทึกข้อมูลของผู้ดูแลระบบทั้งหมด สำหรับผู้ดูแลระบบแต่ละรายที่เพิ่มตารางจะเพิ่มระเบียน
การออกแบบการจัดการการอนุญาตทั่วไปข้างต้น (แนะนำ) ใน Java เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น