Phân quyền cho user/node

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

Mình đang làm 1 site có yêu cầu 1 chức năng sau : user sau khi đăng nhập thì có thể download file. (kiểu như khách hàng đã mua license có thể tải phần mềm từ web của công ty đó). Tất cả các nội dung còn lại đều được access bình thường đối với anonymous user.

Thoạt nghe thì khá đơn giản, nhưng mà mình đã thử nhiều cách mà ko thể nghĩ ra cách làm tối ưu nhất. Phương án định làm như sau :

  1. Tạo 1 page Download, trong page này thì dùng File attachments để upload các file lên cho khách hàng.
  2. Sau đó phân quyền sao cho anonymous user ko thể xem được page này và authenticated user xem được.

==> Vấn đề là làm thế nào để có thể phân quyền cho node đó có thể ẩn với anonymous và hiện với authenticated.

Mình đã thử đến 4-5 module rồi mà chưa thấy cái nào có thể giải quyết vấn đề đó thật đơn giản và dễ dàng được. Phần lớn các module đều yêu cầu setting rất lằng nhằng, phải phân quyền ẩn/hiện cho tất cả các node, rồi chọn node cần ẩn, rồi lại chọn user, ...., nói chung là qua rất nhiều bước và rắc rối, mình làm còn thấy phức tạp sau này khách sử dụng site làm thế nào ? Đó còn chưa nói đến chuyện sau này các user nhất định được tải các file nhất định mà các user khác ko có nữa.

Module nào có thể quản lý được quyền access cho 1 vài node nhất định mà đơn giản nhất ?

Còn phương án 2 thì như sau :

  1. Dùng chức năng File attachments để up file cho khách.
  2. Phân quyền ko cho phép anonymous được tiếp xúc với file attachment.

===> kết quả có vẻ hay hơn, các node đó được access thoải mái và các file đính kèm được ẩn đi với anonymous, nhưng lại phát sinh vấn đề là đối với các file đính kèm khác, ko cần thiết phải ẩn, hoặc cần thiết phải được anonymous access thì cũng bị ẩn luôn. Có thể có module nào quản trị được phân quyền các file này ko ? Các module đã thử qua đều quản trị quyền access file thông qua role rất phức tạp. Có module Web File Manager có vẻ dễ quản lý thì lại không tương tác được với FCKeditor và hoạt động ko tốt với trình duyệt Firefox và Chrome.

Vậy mọi người có cách nào giải quyết vấn đề đơn giản nhất chỉ cho mình với.

Comments

First, I think you have to

phoang's picture

First, I think you have to create a new Role such as: Customer.

Tạo 1 page Download, trong page này thì dùng File attachments để upload các file lên cho khách hàng.
Sau đó phân quyền sao cho anonymous user ko thể xem được page này và authenticated user xem được.

You can create a new content type name Download,and also create a new field for Uploading file.

Then set permission for view this content type and its custom fields to authenticated user so that it's (có thể ẩn với anonymous và hiện với authenticated)

Module nào có thể quản lý được quyền access cho 1 vài node nhất định mà đơn giản nhất ? why don't you create a Content Type for "1 vai node nhat dinh". It's better for you to manage.

Ý kiến cuối cùng rất hay. Tạo

jcisio's picture

Ý kiến cuối cùng rất hay. Tạo thêm 1 content type khác.

content access

nhuhoan's picture

Bạn thử dùng module http://drupal.org/project/content_access xem có được không ?

Ngay từ lúc bắt tay vào làm

tran_tien's picture

Ngay từ lúc bắt tay vào làm thì mình đã thử cái module này rồi, tuy nhiên nó hơi khó sử dụng với user thông thường.

Nhưng sau khi tham khảo nhiều cách, thử nhiều module và giải pháp khác nhau, thì mình lại quay về module này, tất nhiên là có optimizer nó đi 1 chút cho dễ sử dụng. Giờ nó cũng khá linh động và dễ quản trị.

nam999's picture

Tạo content khác, rồi có thể phân quyền từng trường đc mà

Multi languages

ZYGA's picture

Xin cho em hỏi là em vừa cài đặt ba ngôn ngữ Việt, Tây Ban Nha, Anh trên drupal 6. Làm sao để phân quyền là admin chỉ sử dụng tiếng Anh còn người sử dụng khác thì chỉ được sử dụng hai thứ tiếng Việt hoặc Tây Ban Nha.

Thanks các anh chị.