1. Trang chủ
  2. » Giáo án - Bài giảng

(yenbao1340@gmail.com) Lập trình Odoo (OpenERP) Phần 3: Xây dựng cơ chế phân quyền trong Odoo

18 2,1K 24

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 0,93 MB

Nội dung

Lập trình Odoo/OpenERP Phần 3: Xây dựng cơ chế phân quyền trong Odoo/OpenERP Hướng dẫn cơ chế phân quyền Access rule và cách tạo các group user (Nhóm người dùng) trong Odoo Cách phân quyền trên các view, menu của giao diện người dùng

Trang 1

LAB_3 PHÂN QUYỀN

MÃ NGUỒN MỞ

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

Hướng dẫn: Nguyễn Yên Bảo Điện thoại:

Trang 2

NỘI DUNG

2

1. Cơ chế phân quyền trong Odoo

2. Tạo group user

3. Gán quyền cho các group user

4. Phân quyền truy cập view

Trang 3

NỘI DUNG

2. Tạo group user

3. Gán quyền cho các group user

4. Phân quyền truy cập view

Trang 4

1 CƠ CHẾ PHÂN QUYỀN TRONG ODOO

4

Bài toán:

Giả sử với hệ thống quản lý sinh viên

Sẽ có nhiều đối tượng người dùng có nhu cầu sử dụng

hệ thống

- Sinh viên: xem thông tin cá nhân và chỉnh sửa 1 số

thông tin…

- Giáo viên: xem và chỉnh sửa toàn bộ thông tin sinh

viên và điểm số…

- Giáo vụ: cập nhật điểm số, tình trạng học tập của sinh viên…

 Mỗi nhóm người dùng sẽ có những quyền hạn khác nhau, vậy làm thế nào để có thể phân chia và giao quyền cho các nhóm người dùng đó?

Trang 5

1 CƠ CHẾ PHÂN QUYỀN TRONG ODOO

Quản lý phân quyền trong Odoo dựa vào 3 khái niệm

người dùng (user), nhóm người dùng (group) và vai trò (access rule)

 User: là người trực tiếp tương tác với hệ thống, được xác định bởi tên đăng nhập và mật khẩu

hạn nhất định trong hệ thống Tất cả những user nào thuộc cùng 1 group thì sẽ có quyền giống nhau

 Access rule: là 1 quy tắc để xác định quyền truy cập vào các đối tượng/chức năng/module cụ thể trong hệ thống Access rule sẽ được gán cho các group

Trang 6

1 CƠ CHẾ PHÂN QUYỀN TRONG ODOO

6

User 1

User 2

Rule 1

Rule 2

Rule 5 Rule 4

Rule 3

Trang 7

NỘI DUNG

1. Cơ chế phân quyền trong Odoo

3. Gán quyền cho các group user

4. Phân quyền truy cập view

Trang 8

2 TẠO GROUP USER

8

Có 2 cách để tạo 1 group trong Odoo

dòng dữ liệu mới

Trang 9

2 TẠO GROUP USER

Cách 2: Chúng ta sẽ tạo các group trong 1 tập tin *.xml

và được khai báo trong update_xml của openerp .py

//Tạo 1 category để gom nhóm các group trong cùng module

< record model ="ir.module.category" id = "module_category_quanlysv" >

< field name ="name" > Quản lý sinh viên </ field >

< field name ="sequence" > 10 </ field >

</ record >

//Tạo 1 group mới

< record model = "res.groups“ id ="group_giaovien" >

< field name ="name" > Giáo viên </ field >

< field name ="category_id" ref = "module_category_quanlysv" />

</ record >

Trang 10

NỘI DUNG

10

1. Cơ chế phân quyền trong Odoo

2. Tạo group user

4. Phân quyền truy cập view

Trang 11

3 GÁN QUYỀN CHO CÁC GROUP USER

Với một đối tượng trong hệ thống, chúng ta có 4 hoạt

động để tương tác với chúng

- Read: xem được các giá trị thuộc tính trong đối tượng

- Write: thay đổi giá trị các thuộc tính của đối tượng

- Unlink: xóa 1 đối tượng

Để gán quyền cho các group user tương tác được với các đối tượng, chúng ta tạo 1 file ir.model.access.csv và

Trang 12

3 GÁN QUYỀN CHO CÁC GROUP USER

12

Cấu trúc của file ir.model.access.csv

Tên cột Ý nghĩa

id Id của access rule (VD: giaovien_objnganh)

name Tên của access rule

model_id:id Tên của đối tượng mà chúng ta muốn gán quyền tương tác Phải có tiếp đầu

ngữ model_ (VD: model_x_nganh)

group_id:id Tên của group user mà chúng ta muốn gán quyền Phải có tiếp đầu ngữ

group_ (VD: group_group_giaovien)

perm_read Nhận 2 giá trị 0 hoặc 1 (tương ứng với False hoặcTrue)

perm_write Nhận 2 giá trị 0 hoặc 1 (tương ứng với False hoặc True)

perm_create Nhận 2 giá trị 0 hoặc 1 (tương ứng với False hoặc True)

perm_unlink Nhận 2 giá trị 0 hoặc 1 (tương ứng với False hoặcTrue)

Trang 13

NỘI DUNG

1. Cơ chế phân quyền trong Odoo

2. Tạo group user

3. Gán quyền cho các group user

Trang 14

4 PHÂN QUYỀN TRUY CẬP VIEW

14

 Sau khi đá gán quyền cho các group user, nếu group

có quyền read thì các user nào thuộc group mặc định

sẽ có khả năng nhìn thấy được các view của đối tượng đó

 Tuy nhiên, đôi khi chúng ta không muốn user có thể nhìn thấy được hết tất cả các view Chúng ta cần giới hạn khả năng truy cập của user

Trang 15

4 PHÂN QUYỀN TRUY CẬP VIEW

 Với menu:

< record model ='ir.ui.menu' id = 'menu_giaovien' >

< field name ="groups_id"

eval = "[(6,0,[ref('group_giaovien')])]" />

</ record >

 Chỉ có những user thuộc group_giaovien mới có thể nhìn thấy được menu có id “menu_giaovien”

 Với các thuộc tính trên view ta sử dụng thuộc tính

group

< field name =“state" groups = "group_giaovien" />

 Chỉ có những user thuộc group_giaovien mới xem được thuộc tính state (trạng thái học tập của sinh viên)

Trang 16

4 Q/A

Trang 17

1 Xây dựng module “quản lý sinh viên”:

5 BÀI TẬP

Trang 18

The End.

Ngày đăng: 11/07/2015, 20:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w