ใน Alfresco Share นั้น ตามค่า Default แล้ว User ทุกคนสามารถ สร้าง Site ได้ ซึ่งในบางครั้ง เราต้องการจำกัดสิทธิ์ในการสร้าง เช่น อนุญาตให้ บางกลุ่มหรือบางคน มีสิทธิ์ในการสร้าง Site ได้เท่านั้น โดยเราสามารถทำได้ง่ายๆ ได้ 2 วิธี คือ

วิธีแรกนะครับ ทำการกำหนด Permission ให้กับ Folder “Site” โดยการสร้างกลุ่ม หรือ User ที่ต้องการให้มีสิทธิ์สร้าง Site ไว้ จากนั้น เข้าไป Set Permission ที่ Folder “Site” ดังรูป

2

ตามปกติที่ Folder นี้ Everyone จะเป็น Consumer ให้คลิกที่ปุ่ม Inherit Permissions เพื่อทำการกำหนดค่าเอง

3

จากนั้นคลิกที่ปุ่ม Add User/Group เพื่อเพิ่ม Group หรือ User ที่ต้องการให้มีสิทธ์ในการสร้าง Site ในรูปด้านล่าง จะเป็น user01

null

ทำการ Set ให้ user01 มีสิทธิ์เป็น Contributor ขึ้นไป

null

ทดสอบลอง Login เข้าไปเป็น user ทั้วไป จะยังเห็น เมนูของการสร้าง Site ได้ แต่เมื่อกดปุ่มสร้าง Site แล้ว จะมี Message Warning ว่าไม่มีสิทธิ์ในการสร้าง Site ได้ วิธีนี้ผมได้ลองใช้ใน Alfresco 3.4 ดู พบว่าใช้งานได้นะครับแต่ Version 4.0b ผมลองแล้วมันไม่ทำงานนะครับ คือ ยังสามารถสร้างได้ เหมือนเดิมอยู่เลยนะครับ – -‘’ (ไม่รู้ว่าเป็น Bug หรือเปล่านะครับ) แต่ไม่เป็นไร ผมยังมีอีกวิธีนะครับ

วิธีที่สอง ต้องอาศัยการแก้ Config อีกนิดหน่อยนะครับ Concept คือเราจะเข้าไปแก้ไขไฟล์ เพื่อให้ทำการ Hide Link ในการสร้าง Site ซึ่งมี 2 จุดด้วยกันนะครับ คือ ที่เมนูบาร์ และที่ DashLet นะครับ ดังรูปด้านล่าง

6

เริ่มเลยนะครับ โดยเราจะไป Set ที่ Dashlet MySite ก่อนนะครับ โดยให้เข้าไปที่ \tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\cpmponents\dashlets\my-sites.get.html.ftl ที่ไฟล์นี้จะเป็น FreeMarker Template ของ Dashlet ของ MySite นะครับ โดย ให้เพิ่ม และ คร่อมระหว่าง tag link ในการสร้าง Site นะครับ ซึ่งก็หมายถึงให้ User ที่เป็น Admin เท่านั้น สามารถสร้าง Site ได้ครับ

null

เมื่อพิมพ์เสร็จแล้วให้ทำการ Restart เครื่อง Server นะครับ แล้วทำการทดลอง Login ด้วย User ทั่วไปก่อน โดยจะเห็นว่าที่ Dashlet MySites จะไม่มี Link ในการสร้าง Site แล้ว เนื่องจากไม่ใช้ User หรือ Group ที่เราได้กำหนดไว้ โดยได้ผลดังรูป

null

ต่อไปเราจะ Set การสร้าง Site ที่ Menu Bar กันนะครับ โดยให้เข้าไปที่ \tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\modules\header\sites.get.html.ftl โดยเพิ่ม และ ระหว่าง link ในการสร้าง Site นะครับ

null

Restart Alfresco นิดนึงนะครับแล้วทดสอบดูโดยการ Login เข้าไปเป็น User ทั่วไป จะเห็นว่า Link ในการสร้าง Site หายไป

null

ทดสอบโดยการ Login ด้วย User Admin ดูนะครับ จะเห็นว่า สามารถสร้าง Site ได้ตามปกติ

11

อาจจะ Apply โดยการสร้าง Group ที่ต้องการให้เป็นผู้ที่กำหนดในการสร้าง Site นะครับ แล้วใน Code ให้เปลี่ยนจาก isAdmin เป็น Group แทนได้นะครับ วิธีการนี้จะค่อนข้างดีนะครับ คือ ถ้าไม่มีสิทธิ์ก็ไม่ Show Link ขึ้นมาเลยนะครับ

Comments are closed.