คอมพิวเตอร์ หน้าต่าง อินเทอร์เน็ต

การจำกัดการเข้าถึงสิทธิ์ไดเรกทอรี 1c การจำกัดการเข้าถึงในระดับบันทึก RLS การดำเนินการจำกัดการเข้าถึง

โปรแกรม 1C มีระบบสิทธิ์การเข้าถึงในตัวซึ่งอยู่ใน Configurator - General - Roles

ระบบนี้มีลักษณะอย่างไรและจุดประสงค์หลักคืออะไร? ช่วยให้คุณสามารถอธิบายชุดสิทธิ์ที่สอดคล้องกับตำแหน่งของผู้ใช้หรือประเภทของกิจกรรม ระบบสิทธิ์การเข้าถึงนี้มีลักษณะคงที่ ซึ่งหมายความว่าเมื่อผู้ดูแลระบบตั้งค่าสิทธิ์การเข้าถึงเป็น 1C ก็เป็นอย่างนั้น นอกเหนือจากระบบคงที่แล้วยังมีระบบสิทธิ์การเข้าถึงที่สอง - ไดนามิก (RLS) ในระบบนี้ สิทธิ์การเข้าถึงจะถูกคำนวณแบบไดนามิก ขึ้นอยู่กับพารามิเตอร์ที่ระบุ ในระหว่างการดำเนินการ

บทบาทใน 1C

การตั้งค่าความปลอดภัยที่พบบ่อยที่สุดในโปรแกรมต่างๆ คือชุดที่เรียกว่าชุดสิทธิ์การอ่าน/เขียนสำหรับกลุ่มผู้ใช้ต่างๆ และในอนาคตจะรวมหรือแยกผู้ใช้รายใดรายหนึ่งออกจากกลุ่ม ตัวอย่างเช่นระบบดังกล่าวใช้ในระบบปฏิบัติการ Windows AD (Active Directory) ระบบรักษาความปลอดภัยที่ใช้ในซอฟต์แวร์ 1C เรียกว่าบทบาท มันคืออะไร? บทบาทใน 1C เป็นวัตถุที่อยู่ในการกำหนดค่าในสาขา: ทั่วไป - บทบาท บทบาท 1C เหล่านี้คือกลุ่มที่ได้รับมอบหมายสิทธิ์ ในอนาคตสามารถรวมหรือแยกผู้ใช้แต่ละคนออกจากกลุ่มนี้ได้

เมื่อดับเบิลคลิกที่ชื่อบทบาท คุณจะเปิดตัวแก้ไขสิทธิ์สำหรับบทบาทนั้น ทางด้านซ้ายเป็นรายการวัตถุทำเครื่องหมายรายการใดรายการหนึ่งและทางด้านขวาคุณจะเห็นตัวเลือกสำหรับสิทธิ์การเข้าถึงที่เป็นไปได้:

— การอ่าน: การรับบันทึกหรือบางส่วนจากตารางฐานข้อมูล
— การเพิ่ม: บันทึกใหม่ในขณะที่บันทึกรายการที่มีอยู่
— การแก้ไข: การเปลี่ยนแปลงบันทึกที่มีอยู่
— การลบ: บางบันทึก ส่วนที่เหลือไม่เปลี่ยนแปลง

โปรดทราบว่าสิทธิ์การเข้าถึงทั้งหมดสามารถแบ่งออกเป็นสองกลุ่มหลัก - นี่เป็นสิทธิ์ "ยุติธรรม" และนี่คือสิทธิ์อย่างแน่นอนโดยมีการเพิ่มคุณลักษณะ "โต้ตอบ" สิ่งนี้หมายความว่า? และประเด็นก็คือสิ่งนี้

ในกรณีที่ผู้ใช้เปิดแบบฟอร์มบางอย่าง เช่น การประมวลผล และในขณะเดียวกันก็คลิกด้วยเมาส์ โปรแกรมในภาษา 1C ในตัวจะเริ่มดำเนินการเฉพาะ เช่น การลบเอกสาร เป็นต้น สิทธิ์ 1C “อย่างง่าย” มีหน้าที่รับผิดชอบในการอนุญาตให้ดำเนินการดังกล่าวโดยโปรแกรม

ในกรณีที่ผู้ใช้เปิดบันทึกประจำวันและเริ่มป้อนบางสิ่งจากแป้นพิมพ์อย่างอิสระ (เช่น เอกสารใหม่) สิทธิ์ "เชิงโต้ตอบ" ของ 1C จะต้องรับผิดชอบในการอนุญาตการดำเนินการดังกล่าว ผู้ใช้แต่ละคนสามารถเข้าถึงหลายบทบาทพร้อมกัน จากนั้นสิทธิ์จะถูกเพิ่มเข้าไป

RLS ใน 1C

คุณสามารถเปิดใช้งานการเข้าถึงไดเร็กทอรี (หรือเอกสาร) หรือปิดใช้งานได้ คุณไม่สามารถ "เปิดใช้งานเพียงเล็กน้อย" เพื่อจุดประสงค์นี้ มีส่วนขยายบางอย่างของระบบบทบาท 1C ซึ่งเรียกว่า RLS นี่คือระบบสิทธิ์การเข้าถึงแบบไดนามิกที่แนะนำข้อจำกัดบางส่วนในการเข้าถึง ตัวอย่างเช่น เฉพาะเอกสารขององค์กรและคลังสินค้าบางแห่งเท่านั้นที่จะพร้อมใช้งานสำหรับผู้ใช้ และเขาจะไม่เห็นส่วนที่เหลือ

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

คำขอนี้จะดำเนินการแบบไดนามิก (เมื่อพยายามจัดระเบียบการอ่าน) สำหรับรายการไดเร็กทอรีทั้งหมด มันทำงานดังนี้: บันทึกเหล่านั้นซึ่งคำขอความปลอดภัยกำหนดไว้ - จริง ผู้ใช้จะเห็น แต่คนอื่นไม่เห็น สิทธิ์ 1C พร้อมข้อจำกัดที่กำหนดไว้จะถูกเน้นด้วยสีเทา

การดำเนินการคัดลอกการตั้งค่า RLS ที่เหมือนกันนั้นดำเนินการโดยใช้เทมเพลต ขั้นแรก คุณจะต้องสร้างเทมเพลต โดยเรียกเทมเพลตนั้น เช่น MyTemplate ซึ่งคุณสะท้อนถึงคำขอด้านความปลอดภัย จากนั้นในการตั้งค่าสิทธิ์การเข้าถึง ให้ระบุชื่อของเทมเพลตนี้ในลักษณะนี้: “#MyTemplate”

เมื่อผู้ใช้ทำงานในโหมด 1C Enterprise เมื่อเชื่อมต่อกับ RLS ข้อความแสดงข้อผิดพลาดเช่น: "สิทธิ์ไม่เพียงพอ" (เช่นเพื่ออ่านไดเร็กทอรี XXX เป็นต้น) อาจปรากฏขึ้น สิ่งนี้บ่งชี้ว่าระบบ RLS ถูกบล็อกไม่ให้อ่านบันทึกบางรายการ เพื่อป้องกันไม่ให้ข้อความนี้ปรากฏขึ้นอีก คุณต้องป้อนคำว่า ALLOWED ในข้อความคำขอ

เวอร์ชันที่แปดของแพลตฟอร์ม 1C: Enterprise (วันนี้ 8.3) มีการเปลี่ยนแปลงมากมายที่เกี่ยวข้องกับ "เจ็ด" ซึ่งกลไกในการจำกัดสิทธิ์การเข้าถึงในระดับบันทึกนั้นมีความโดดเด่นเป็นพิเศษ แม้ว่าในทางทฤษฎีจะสามารถทำได้โดยไม่ต้องใช้มัน แต่ใช้เพียงบทบาทเท่านั้น RLS ช่วยให้คุณได้รับการตั้งค่าการเข้าถึงที่ละเอียดยิ่งขึ้น แต่ในการใช้งานกลไกนี้อย่างเหมาะสม คุณต้องเข้าใจสาระสำคัญของมันอย่างชัดเจนและมีประสบการณ์เพียงพอในการพัฒนาใน 1C

RLS คืออะไร?

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

หากต้องการเขียนแบบสอบถามสำหรับข้อจำกัด RLS คุณต้องสร้างบทบาทหรือรับบทบาทที่มีอยู่ การตั้งค่า RLS ใน 1C 8.3 สามารถใช้สำหรับการกระทำของผู้ใช้ต่อไปนี้:

  • ส่วนที่เพิ่มเข้าไป;
  • การอ่าน;
  • ลบ;
  • เปลี่ยน.

นอกจากความเป็นไปได้ที่กว้างที่สุดในการปรับแต่งการเข้าถึงแล้ว RLS ยังมีข้อเสีย:

  1. ข้อกำหนดสำหรับคุณสมบัติของนักพัฒนา เนื่องจากคำขอจะต้องเขียนด้วยภาษาในตัว โดยคำนึงถึงกฎไวยากรณ์
  2. ขาดความสามารถในการแก้ไขเงื่อนไขอย่างรวดเร็ว
  3. ความเป็นไปได้ที่จำกัดในการอธิบายตรรกะ: เงื่อนไขที่ซับซ้อนเกินไปยังคงต้องเขียนลงในโมดูลของเอกสารและหนังสืออ้างอิง
  4. ในเวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์ของฐานข้อมูล การเติบโตโดยนัยของตารางที่รวมอยู่ในแบบสอบถามเป็นไปได้ ยิ่งไปกว่านั้น การติดตามกระบวนการนี้เป็นเรื่องยากมาก
  5. ข้อกำหนดด้านทรัพยากร ข้อจำกัด RLS ใช้พลังงานมากบนเครื่องไคลเอนต์และเซิร์ฟเวอร์
  6. มีเอกสารประกอบเล็กน้อยให้ใช้ฟรี

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

สร้างข้อจำกัด RLS

ในการเพิ่มข้อจำกัด RLS คุณต้องค้นหาบทบาทที่ต้องการแล้วเปิดโดยดับเบิลคลิก

หน้าต่างที่เปิดขึ้นประกอบด้วย 2 แท็บ: "สิทธิ์" และ "เทมเพลตการจำกัด" หากต้องการกำหนดข้อจำกัดบางประการสำหรับการดำเนินการเฉพาะ คุณต้องเลือกและคลิกที่เครื่องหมายบวกสีเขียวที่ส่วนล่างขวา บรรทัดจะปรากฏขึ้นซึ่งเราสามารถตั้งค่าข้อ จำกัด 1C RLS ในภาษาที่สร้างใน 1C


หากคุณรู้ไวยากรณ์ 1C (เช่น หลังมือ) คุณสามารถเขียนลงในช่อง "การจำกัดการเข้าถึง" ได้โดยตรง นักพัฒนา 1C ได้จัดเตรียมความสามารถในการเปิดตัวสร้างแบบสอบถาม ซึ่งจะช่วยและแนะนำข้อจำกัดที่สามารถทำได้ หากต้องการเปิดคุณจะต้องคลิกที่ปุ่มที่มีจุดสามจุด (เลือก) หรือ F4 และหน้าต่างที่มีปุ่ม "ตัวสร้างแบบสอบถาม ... " จะปรากฏขึ้น


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


บนแท็บ "เทมเพลตข้อ จำกัด" คุณระบุแบบสอบถามที่จำเป็นเมื่อคัดลอกการตั้งค่า RLS เดียวกันลงใน 1C 8.3 หลังจากที่คุณเพิ่มเทมเพลตแล้ว คุณสามารถใช้ชื่อเทมเพลตในการตั้งค่าสิทธิ์การเข้าถึงได้

นอกจากนี้ยังสามารถเพิ่มข้อจำกัดให้กับหลายบทบาทได้พร้อมๆ กัน ในการดำเนินการนี้ ในแผนผังการกำหนดค่า คุณต้องคลิกขวาที่ส่วน "บทบาท" และเลือก "บทบาททั้งหมด"


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

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

RLS ใช้พร้อมกันกับการตั้งค่าสิทธิ์การเข้าถึงตามปกติ ดังนั้น ก่อนที่คุณจะเริ่มกำหนดค่า RLS คุณต้องกำหนดสิทธิ์ปกติให้กับออบเจ็กต์การกำหนดค่า

RLS ใช้สำหรับสิทธิ์การเข้าถึงประเภทต่อไปนี้:

  • การอ่าน
  • ส่วนที่เพิ่มเข้าไป
  • เปลี่ยน
  • การกำจัด

วิธีการกำหนดค่า RLS

ลองดูตัวอย่างง่ายๆ ของวิธีกำหนดค่า ภาพหน้าจอถูกถ่ายในเวอร์ชัน 1C Enterprise 8.2 (8.2.9.356) ไวยากรณ์ของเทมเพลตข้อความจำกัดอธิบายไว้ในเอกสารประกอบสำหรับ 8.2 ในหนังสือ “คู่มือนักพัฒนา” ตอนที่ 1” ดังนั้นเราจะไม่ยึดติดกับมัน

ดังนั้น ขั้นตอนแรกคือการกำหนดเทมเพลตข้อจำกัดสำหรับแต่ละบทบาทที่มีอยู่

หลังจากนี้ ตามเทมเพลตที่ระบุ ข้อ จำกัด จะถูกตั้งค่าในวัตถุที่จำเป็น หากต้องการแก้ไขข้อความของเงื่อนไข คุณสามารถใช้ตัวออกแบบข้อจำกัดการเข้าถึงข้อมูลได้

หากต้องการแก้ไขหลายบทบาท จะสะดวกในการจัดการผ่านหน้าต่าง "บทบาททั้งหมด"

คุณสามารถใช้หน้าต่างข้อจำกัดการเข้าถึงทั้งหมดเพื่อคัดลอกเงื่อนไขไปยังบทบาทอื่นๆ สามารถคัดลอกเทมเพลตไปยังบทบาทอื่นด้วยตนเองเท่านั้น

นั่นคือทั้งหมดที่ คุณสามารถตรวจสอบผลลัพธ์ได้

ข้อเสียของการใช้ RLS:

  1. การใช้กลไกการจำกัดการเข้าถึงในระดับบันทึกนำไปสู่การเพิ่มขึ้นโดยนัยในตารางที่เข้าร่วมในการสืบค้น ซึ่งอาจนำไปสู่ข้อผิดพลาดในโหมดไคลเอนต์-เซิร์ฟเวอร์ของฐานข้อมูล
  2. อาจเป็นเรื่องยากหรือเป็นไปไม่ได้เลยที่จะใช้ตรรกะของแอปพลิเคชันที่ซับซ้อนสำหรับการควบคุมการเขียน ในกรณีเช่นนี้ ควรใช้เงื่อนไขในโพรซีเดอร์ OnWrite() จะดีกว่า
  3. การเขียนเงื่อนไข (แบบสอบถาม) จำเป็นต้องมีคุณสมบัติบางประการของนักพัฒนา
  4. ปัญหาเพิ่มเติมอาจเกิดขึ้นได้หากไม่สามารถแก้ไขข้อบกพร่องของเงื่อนไข (แบบสอบถาม)

ในการกำหนดค่าทั่วไป สิทธิ์ในระดับบันทึกสามารถตั้งค่าแบบโต้ตอบสำหรับออบเจ็กต์ต่อไปนี้: องค์กร คู่ค้า สินค้า คลังสินค้า แผนก บุคคล ใบสมัครของผู้สมัคร และอื่นๆ

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

ปัญหาคลาสสิก: ให้สิทธิ์ผู้ใช้เข้าถึงวัตถุ แต่ไม่ใช่กับองค์ประกอบ/เอกสารทั้งหมด แต่กับบางส่วนเท่านั้น

ตัวอย่างเช่น เพื่อให้ผู้จัดการสามารถดูรายงานสำหรับลูกค้าของเขาเท่านั้น

หรืออาจเป็นข้อจำกัดก็ได้ “ทั้งหมด ยกเว้นบางส่วน”.
หรือข้อจำกัดไม่ได้อยู่ที่หนังสือ/เอกสารอ้างอิงแต่ เพื่อลงทะเบียนข้อมูล

ตัวอย่างเช่น เพื่อให้ผู้ใช้ไม่สามารถดึงข้อมูลเกี่ยวกับการชำระเงินให้กับพันธมิตรโดยใช้รายงานใดๆ ได้

โดยพื้นฐานแล้ว นี่เป็นการตั้งค่าที่ละเอียดอ่อนและยืดหยุ่นมากสำหรับ "สิ่งที่ผู้ใช้รายนี้สามารถมองเห็นได้ และสิ่งที่เขาไม่จำเป็นต้องคาดเดา"

ทำไมต้อง RLS?

การใช้งานส่วนใหญ่ต้องการให้ผู้ใช้ที่แตกต่างกันกำหนดระดับการเข้าถึงข้อมูลในฐานข้อมูลที่แตกต่างกัน

ในการกำหนดค่า ออบเจ็กต์เมตาดาต้าพิเศษ - บทบาท - มีหน้าที่รับผิดชอบสิทธิ์การเข้าถึงข้อมูลที่เป็นไปได้ ผู้ใช้ฐานข้อมูลแต่ละรายจะได้รับมอบหมายบทบาทตั้งแต่หนึ่งบทบาทขึ้นไป โดยจะกำหนดว่าการดำเนินการกับออบเจ็กต์ข้อมูลเมตาที่เฉพาะเจาะจงเป็นไปได้หรือไม่ (การอ่าน การเขียน การโพสต์ ฯลฯ)

แต่นั่นไม่ใช่ทั้งหมด

มักมีความจำเป็น ไม่ใช่แค่เปิด/ปฏิเสธการเข้าถึงออบเจ็กต์บางอย่าง แต่ยังจำกัดการเข้าถึงข้อมูลบางส่วนในนั้นด้วย

ปัญหานี้ไม่สามารถแก้ไขได้โดยใช้บทบาทเพียงอย่างเดียว– เพื่อจุดประสงค์นี้ จึงมีการนำกลไกในการจำกัดการเข้าถึงในระดับบันทึก (RLS) มาใช้

ข้อจำกัดแสดงถึงเงื่อนไขที่อนุญาตให้ดำเนินการกับข้อมูล (การอ่าน การเขียน ฯลฯ) – ด้วยวิธีนี้ คุณสามารถจำกัดการเข้าถึงได้ไม่ใช่เฉพาะออบเจ็กต์โดยรวม แต่เพียงส่วนหนึ่งของข้อมูลเท่านั้น

เกี่ยวกับ RLS - รายละเอียดเพิ่มเติม: วิดีโอ 8 รายการและ PDF

เนื่องจากนี่เป็นงานการดูแลระบบ 1C ทั่วไป เราขอแนะนำให้ดูเอกสารที่มีรายละเอียดเพิ่มเติม:

การจำกัดการเข้าถึงข้อมูลโดยใช้บทบาท

วิดีโอนี้อธิบายวิธีจำกัดการเข้าถึงข้อมูลโดยใช้บทบาท มีการชี้แจงว่าบทบาทจำกัดการเข้าถึงประเภทของวัตถุฐานข้อมูล (ไดเร็กทอรีแยกต่างหาก แต่ไม่ใช่องค์ประกอบเฉพาะของไดเร็กทอรี)

ข้อจำกัดระดับบันทึก (RLS)

วิดีโอนี้พูดถึงกลไกของการจำกัดการเข้าถึงในระดับบันทึก (RLS) เมื่อคุณสามารถกำหนดค่าการเข้าถึงไม่ใช่ไดเร็กทอรีทั้งหมดโดยรวม แต่รวมถึงองค์ประกอบแต่ละรายการ ขึ้นอยู่กับที่เก็บไว้ในฐานข้อมูล มีการกำหนดข้อจำกัดที่คล้ายกันในบทบาท

การดำเนินการจำกัดการเข้าถึงในระดับบันทึกสำหรับไดเรกทอรีผู้รับเหมา

วิดีโอนี้อธิบายวิธีตั้งค่าการเข้าถึงของผู้จัดการให้กับคู่สัญญาของตนเองที่ได้รับมอบหมายในการกำหนดค่าสาธิตแอปพลิเคชันที่ได้รับการจัดการเท่านั้น

ข้อจำกัดการเข้าถึงระดับบันทึกระดับต่ำทำงานอย่างไร

วิดีโอนี้อธิบายวิธีที่แพลตฟอร์มแปลงคำค้นหาที่ส่งไปยังเซิร์ฟเวอร์ DBMS เพื่อดำเนินการเมื่อมีข้อจำกัดการเข้าถึงระดับบันทึก

การใช้ข้อจำกัดการเข้าถึงระดับบันทึกหลายรายการร่วมกัน

ผู้ใช้ฐานข้อมูลสามารถกำหนดได้หลายบทบาท นอกจากนี้ แต่ละบทบาทอาจมีข้อจำกัดในการเข้าถึงของตัวเองในระดับบันทึก วิดีโอนี้อธิบายการทำงานของระบบเมื่อมีการกำหนดข้อจำกัด

การกำหนดข้อจำกัดโดยใช้วิธี ALL

วิดีโอนี้อธิบายวิธีแรกในการกำหนดข้อจำกัดในระดับบันทึก - วิธี ALL ในกรณีนี้ หากการเลือกรวมบันทึกที่ถูกจำกัดการเข้าถึง ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น

การกำหนดข้อจำกัดโดยใช้วิธี ALLOWED

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

นี่คือหัวข้อบางส่วนจากหลักสูตร:

  • การติดตั้งและอัปเดตแพลตฟอร์ม 1C:Enterprise 8 – แบบแมนนวลและแบบอัตโนมัติสำหรับ Windows และ Linux
  • เริ่มต้นอัตโนมัติเพื่อดำเนินการตามปกติ
  • กำลังอัปเดตการกำหนดค่า จากโหมดผู้ใช้
  • กำลังอัปเดตการกำหนดค่าที่ไม่ได้มาตรฐาน วิธีหลีกเลี่ยงปัญหาเมื่อทำการอัพเดตการกำหนดค่ามาตรฐานที่ได้รับการแก้ไข
  • สร้างของคุณเอง การนำส่งไฟล์ cfu
  • เครื่องมือบีเอสพี: แบบฟอร์มภายนอก, การประมวลผลการกรอกเอกสาร ฯลฯ
  • การใช้งาน ฟรี DBMS PostgreSQL
  • การติดตั้งและการเปิดตัว คลัสเตอร์เซิร์ฟเวอร์ 1C:องค์กร 8
  • ยูทิลิตี้การดูแลระบบสำหรับการตั้งค่าคลัสเตอร์และเซิร์ฟเวอร์ผู้ปฏิบัติงาน
  • การตั้งค่า ร.ลโดยใช้ตัวอย่างของ UPP 1.3 และ ERP 2
  • จะทำอย่างไรถ้า ข้อมูลในการรักษาความปลอดภัยข้อมูลเสียหาย
  • การตั้งค่า การแลกเปลี่ยนข้อมูลระหว่างการกำหนดค่า
  • องค์กร การพัฒนากลุ่ม
  • การตั้งค่าและการใช้งาน คีย์ป้องกันฮาร์ดแวร์
  • ลิขสิทธิ์ซอฟต์แวร์ 1C: การติดตั้งและการผูกเข้ากับอุปกรณ์ภายนอก

ไม่ว่าในกรณีใด คุณจะต้องปรับใช้ 1C กำหนดค่าการจอง สิทธิ์การเข้าถึง โหมดการเปิดตัวต่างๆ ทดสอบความสมบูรณ์ของฐานข้อมูล ตรวจสอบการทำงานของเซิร์ฟเวอร์ ฯลฯ

และควรทำทันทีจะดีกว่า

เพื่อจะได้ไม่เกิดทีหลัง “...! แล้วไงล่ะ...! ของคุณ...!” – และการแสดงความรู้สึกเสียใจอื่นๆ :)

จะกำหนดค่าสิทธิ์การเข้าถึงใน 1C 8.3 ได้อย่างไร?

ในบทความนี้เราจะดูวิธีการทำงานกับผู้ใช้ใน 1C Accounting 8.3:

  • สร้างผู้ใช้ใหม่
  • กำหนดค่าสิทธิ์ - โปรไฟล์ บทบาท และกลุ่มการเข้าถึง
  • วิธีกำหนดค่าการจำกัดสิทธิ์ในระดับบันทึก (RLS) ใน 1C 8.3 - ตัวอย่างเช่นตามองค์กร

คำแนะนำนี้ไม่เพียงเหมาะสำหรับโปรแกรมการบัญชีเท่านั้น แต่ยังเหมาะสำหรับโปรแกรมอื่น ๆ อีกมากมายที่สร้างขึ้นบนพื้นฐานของ BSP 2.x: 1C การจัดการการค้า 11, การจัดการเงินเดือนและบุคลากร 3.0, ERP 2.0, การจัดการบริษัทขนาดเล็ก และอื่น ๆ

ในอินเทอร์เฟซโปรแกรม 1C การจัดการผู้ใช้จะดำเนินการในส่วน "การดูแลระบบ" ในรายการ "การตั้งค่าผู้ใช้และสิทธิ์":

วิธีสร้างผู้ใช้ใหม่ใน 1C

ในการสร้างผู้ใช้ใหม่ใน 1C Accounting 3.0 และกำหนดสิทธิ์การเข้าถึงบางอย่างให้กับเขาในเมนู "การดูแลระบบ" จะมีรายการ "การตั้งค่าผู้ใช้และสิทธิ์" ไปที่นั่นกัน:

รายชื่อผู้ใช้ได้รับการจัดการในส่วน "ผู้ใช้" ที่นี่คุณสามารถสร้างผู้ใช้ใหม่ (หรือกลุ่มผู้ใช้) หรือแก้ไขผู้ใช้ที่มีอยู่ได้ มีเพียงผู้ใช้ที่มีสิทธิ์ระดับผู้ดูแลระบบเท่านั้นที่สามารถจัดการรายชื่อผู้ใช้ได้

มาสร้างกลุ่มผู้ใช้ชื่อ "การบัญชี" และจะมีผู้ใช้สองคนในกลุ่ม: "นักบัญชี 1" และ "นักบัญชี 2"

หากต้องการสร้างกลุ่ม ให้คลิกปุ่มที่ไฮไลต์ในรูปด้านบนแล้วป้อนชื่อ หากมีผู้ใช้รายอื่นในฐานข้อมูลที่เหมาะสมกับบทบาทนักบัญชี คุณสามารถเพิ่มเข้ากลุ่มได้ทันที ในตัวอย่างของเราไม่มีเลย ดังนั้นเราจึงคลิก "บันทึกและปิด"

ตอนนี้เรามาสร้างผู้ใช้กัน วางเคอร์เซอร์บนกลุ่มของเราแล้วคลิกปุ่ม "สร้าง":

ในชื่อเต็มเราจะป้อน "บัญชี 1" และชื่อเข้าสู่ระบบจะถูกตั้งค่าเป็น "บัญชี 1" (นี่คือสิ่งที่จะแสดงเมื่อเข้าสู่โปรแกรม) รหัสผ่านจะเป็น “1”

ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในช่อง "อนุญาตให้เข้าสู่ระบบโปรแกรม" และ "แสดงในรายการตัวเลือก" มิฉะนั้นผู้ใช้จะไม่เห็นตัวเองในระหว่างการอนุญาต

ปล่อยให้ "โหมดเริ่มต้น" เป็น "อัตโนมัติ"

การตั้งค่าสิทธิ์การเข้าถึง - บทบาท, โปรไฟล์

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

เลือกโปรไฟล์นักบัญชี โปรไฟล์นี้เป็นโปรไฟล์มาตรฐานและได้รับการกำหนดค่าด้วยสิทธิ์พื้นฐานที่นักบัญชีกำหนด คลิก "บันทึก" และปิดหน้าต่าง

ในหน้าต่าง "ผู้ใช้ (การสร้าง)" คลิก "บันทึกและปิด" เรากำลังสร้างนักบัญชีคนที่สองด้วย เราตรวจสอบให้แน่ใจว่าผู้ใช้เปิดใช้งานและสามารถทำงานได้:

ควรสังเกตว่าผู้ใช้รายเดียวกันสามารถอยู่ในหลายกลุ่มได้

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

ไปที่ส่วน "โปรไฟล์กลุ่มการเข้าถึง"

สมมติว่าเราจำเป็นต้องอนุญาตให้นักบัญชีของเราดูรายการบันทึกประจำวันได้

การสร้างโปรไฟล์ตั้งแต่เริ่มต้นนั้นต้องใช้แรงงานค่อนข้างมาก ดังนั้นมาคัดลอกโปรไฟล์ “นักบัญชี” กัน:

และมาทำการเปลี่ยนแปลงที่จำเป็น - เพิ่มบทบาท "ดูบันทึก":

ตั้งชื่อโปรไฟล์ใหม่ให้แตกต่างออกไป ตัวอย่างเช่น “นักบัญชีที่มีการเพิ่มเติม” และทำเครื่องหมายที่ช่อง "ดูบันทึกการลงทะเบียน"

ตอนนี้เราจำเป็นต้องเปลี่ยนโปรไฟล์ของผู้ใช้ที่เราสร้างไว้ก่อนหน้านี้

การจำกัดสิทธิ์ในระดับการบันทึกใน 1C 8.3 (RLS)

เรามาดูกันว่าการจำกัดสิทธิ์ในระดับบันทึกหมายความว่าอย่างไรหรือที่เรียกว่าใน 1C - RLS (ความปลอดภัยระดับบันทึก) หากต้องการรับโอกาสนี้ คุณต้องทำเครื่องหมายในช่องที่เหมาะสม:

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

ไปที่ส่วนการจัดการโปรไฟล์อีกครั้งคลิกสองครั้งที่โปรไฟล์ "นักบัญชีที่มีการเพิ่มเติม" และไปที่แท็บ "ข้อ จำกัด การเข้าถึง":

“ประเภทการเข้าถึง” เลือก “องค์กร” “ค่าการเข้าถึง” เลือก “อนุญาตทั้งหมด มีการกำหนดข้อยกเว้นในกลุ่มที่เข้าถึง” คลิก "บันทึกและปิด"

ตอนนี้เรากลับไปที่ส่วน "ผู้ใช้" และเลือกผู้ใช้ "นักบัญชี 1" เป็นต้น คลิกปุ่ม "สิทธิ์การเข้าถึง":

ใช้ปุ่ม "เพิ่ม" เลือกองค์กรที่ "นักบัญชี 1" จะเห็นข้อมูล

บันทึก! การใช้กลไกในการแยกสิทธิ์ในระดับบันทึกอาจส่งผลต่อประสิทธิภาพของโปรแกรมโดยรวม หมายเหตุสำหรับโปรแกรมเมอร์: สาระสำคัญของ RLS คือระบบ 1C เพิ่มเงื่อนไขเพิ่มเติมให้กับคำขอแต่ละรายการโดยขอข้อมูลเกี่ยวกับว่าผู้ใช้ได้รับอนุญาตให้อ่านข้อมูลนี้หรือไม่

การตั้งค่าอื่นๆ

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

ในส่วน "การตั้งค่าผู้ใช้" คุณสามารถเปลี่ยนรูปลักษณ์ของโปรแกรมและทำการตั้งค่าเพิ่มเติมเพื่อความสะดวกในการใช้งาน

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

ขึ้นอยู่กับวัสดุจาก: programmist1s.ru