Cho hỏi về permission

Events happening in the community are now at Drupal community events on www.drupal.org.
kjasmine's picture

Chào moi người

Mình gặp một lỗi như thế này:

Có 03 user cùng nhóm admin, nhưng user admin (tao ra từ khi cài drupal) thì có quyền "access administration page", còn các user còn lại thì không có quyên này, bạn nào gặp chỗ này rồi thì xin chỉ giúp mình với, mình cũng đang cần giải quyết gấp lỗi này,

cảm ơn rất nhiều

Comments

Bạn xài bản Drupal bao nhiêu?

Shellingfox's picture

Bạn xài bản Drupal 6 hay Drupal 7?

Với bản Drupal 6 thì bạn vào: admin/user/permissions và kiểm tra nhóm admin của bạn xem đã có quyền 'access administration pages' chưa.
Với bản Drupal 7 thì bạn vào: admin/people/permissions và kiểm tra nhóm admin của bạn xem đã có quyền 'Use the administration pages and help' chưa.

Nếu chưa có thì cho nhóm admin của bạn có quyền này. Các user sẽ thuộc nhóm này sẽ có truy cập vào admin.

--
Best regards,
Sang, Lê Thanh

Tel: +84 988079498
Email: me[at]sanglt.com
WWW: www.sanglt.com

Cảm ơn bạn, mình đã check

kjasmine's picture

Cảm ơn bạn, mình đã check full permission rồi nhưng vẫn không được, mình không dùng user_access(...) để kiểm tra quyền nữa, mình chuyển sang kiểm tra roles,

Bạn có thể nói chi tiết hơn không?

Shellingfox's picture

Bạn có thể nói chi tiết hơn không? Nếu đây là lỗi của Drupal thì còn report. Và nếu bạn giải quyết được vấn đề thì cũng nên chia sẽ giải pháp.

(Mà kiểm tra user_access là sẽ dùng roles để kiểm tra quyền mà. Hay là bạn hardcode :|)

--
Best regards,
Sang, Lê Thanh

Tel: +84 988079498
Email: me[at]sanglt.com
WWW: www.sanglt.com

mình phải code lại một

kjasmine's picture

mình phải code lại một đoạn

global $user;

if($user->uid && access_permission("access administration page")){
//code xu ly
}

nhưng ko được nên mình chuyển sang kiểm tra như sau

if($user->uid && $user->roles[3]=='admin'){
//code xu ly
}

đoạn code trên chắc chắn sẽ có vấn đề nhưng mình sẽ tìm giảo pháp mới để chỉnh lại

Cảm ơn bạn

Ủa sao lại là

Shellingfox's picture

Ủa sao lại là access_permission nhỉ? Phải là user_access chứ. Thử như vầy xem sao:

<?php
global $user;
// Không cần phải kiểm tra $user->uid ở đây.
if (user_access('access administration page')) {
 
// Code xử lý
}
?>

--
Best regards,
Sang, Lê Thanh

Tel: +84 988079498
Email: me[at]sanglt.com
WWW: www.sanglt.com

Admin đầu tiên có uid = 1 bao

tran.thnga's picture

Admin đầu tiên có uid = 1 bao giờ cũng được full quyền, nếu bạn muốn các admin còn lại có quyền access administration page thì bạn phải vào set quyền cho các nick đó đã nhé