policy_[8]_[1412579] - ATBMHTTT-2017/lab01-1412579-1412564-1412551 GitHub Wiki

Trưởng phòng chỉ được phép đọc thông tin chi tiêu của dự án trong phòng ban mình quản lý. Với những dự án không thuộc phòng ban của mình, các trưởng phòng được phép xem thông tin chi tiêu nhưng không được phép xem số tiền cụ thể (VPD)

  • Ban đầu em sử dụng package và context để kiểm tra việc User đó có phải là trưởng phòng hay không, tuy nhiên thì thấy hơi thừa thãi mà không cần thiết vì chúng ta có thể select và kiểm tra trực tiếp trong function.

  • Về cơ bản nếu em kiểm tra đó là trưởng phòng thì em trả return lại mã phòng của trưởng phòng này chủ trì, từ đó chúng ta có thể biết được dự án nào thuộc phòng đó.

  • Ban đầu em làm chỉ return lại một dự án, tuy nhiên nếu phòng đó có nhiều dự án thì sao, nên em đã sử dụng dạng DUAN IN ('MADA1','MADA2',..) để có thể lấy hết được những dự án mà chúng ta cần xem xét.

  • Các bước thực hiện:

  1. Tạo function với những thông tin cần return lại
  2. Tạo Policy trên schema cũng như object chúng ta cần cài đặt VPD.