Đúng. Nó không đủ để cấp thẩm quyền để sử dụng một quan điểm. Người dùng cũng phải có quyền đối với bảng bên dưới.
Một cách để cho phép truy cập vào một người dùng bị hạn chế là cơ quan có thẩm quyền. Vì lợi ích của ví dụ, hãy giả sử như sau:
Người dùng RESTRICTED không có quyền truy cập vào bất kỳ bảng nào. Tất cả các thư viện đều là AUT (* EXCLUDE) -hoặc người dùng RESTRICTED có quyền * EXCLUDE cho tất cả các thư viện. NGƯỜI DÙNG ĐƯỢC PHÉP có thể truy cập (hoặc sở hữu) các bảng và thư viện. Thư viện DATA có các bảng. CHƯƠNG TRÌNH thư viện có các chương trình và thủ tục lưu trữ.
Đã PERMITTED tạo một thủ tục lưu trữ RPG trong CHƯƠNG TRÌNH thư viện. Đảm bảo chương trình có USRPRF (* OWNER) được chỉ định. Điều này có nghĩa là khi chương trình chạy, nó sẽ sử dụng quyền của chủ sở hữu (PERMITTED) chứ không phải là thẩm quyền của hồ sơ thực thi nó (GIỚI HẠN).
Cấp quyền cho người dùng PERMITTED * SỬ DỤNG quyền đối với đối tượng chương trình RPG - hoặc GRANT thông qua SQL. Ngoài ra, cấp cho người dùng RESTRICTED * SỬ DỤNG quyền truy cập vào CHƯƠNG TRÌNH thư viện. Điều này sẽ cho phép RESTRICTED thực hiện thủ tục / chương trình được lưu trữ.
Lưu ý rằng người dùng RESTRICTED không có quyền truy cập các bảng trong DATA và bạn muốn để nó theo cách đó.
Bây giờ có người dùng RESTRICTED sử dụng SQL để GỌI thủ tục được lưu trữ. Cô ấy có thẩm quyền để thực hiện chương trình vì cô ấy có quyền * SỬ DỤNG các thư mục PROGRAM cũng như đối tượng chương trình được biên dịch. Quy trình được lưu trữ chạy dưới quyền của chủ sở hữu, PERMITTED và vì PERMITTED có toàn quyền truy cập vào thư viện DATA và các bảng trong đó, quy trình được lưu trữ có thể truy cập / cập nhật các bảng đó. Bất kỳ SQL thô nào mà RESTRICTED cố gắng sử dụng sẽ không thành công do không đủ thẩm quyền - điều duy nhất cô ấy có thể làm là gọi các thủ tục được lưu trữ được tạo cho cô ấy.
Nếu các chương trình của bạn được lưu trữ trong cùng thư viện với dữ liệu của bạn, bạn sẽ cần cấp quyền RESTRICTED * USE cho thư viện và đặc biệt hạn chế cô ấy (thông qua * EXCLUDE) trên tất cả các bảng trong thư viện đó. Có thể dễ dàng hơn để tạo một thư viện RESTRICTED chỉ giữ các thủ tục được lưu trữ và ủy quyền cho cô ấy vào thư viện đó. Điều này làm cho việc bảo trì liên tục dễ dàng hơn vì bạn sẽ không phải cố gắng nhớ để hạn chế cô ấy khỏi các bảng mới được tạo trong DATA.