Giới thiệu
Chúng tôi vừa phát hành phiên bản Veri v0.4.0 với tính năng hỗ trợ multi-tenancy. Giờ đây, bạn có thể cô lập các phiên đăng nhập xác thực theo từng tenant, cho dù đó là một subdomain hay một mô hình đại diện cho tổ chức.
Cập nhật này không chỉ cải thiện khả năng quản lý người dùng mà còn thêm một số phạm vi hữu ích và đổi tên một vài phương thức để dễ sử dụng hơn.
⚠️ Lưu ý: Gem vẫn đang trong giai đoạn phát triển ban đầu, vì vậy hãy chuẩn bị cho những thay đổi lớn trong các phiên bản nhỏ cho đến khi đạt phiên bản 1.0!
Nội dung chính
1. Tính năng mới trong Veri v0.4.0
1.1 Hỗ trợ Multi-Tenancy
Multi-tenancy cho phép bạn tách biệt các phiên đăng nhập giữa các tổ chức hoặc nhóm người dùng khác nhau. Điều này rất quan trọng trong các ứng dụng web mà nhiều khách hàng sử dụng chung một hệ thống.
1.2 Các Phạm Vi Mới
Phiên bản này giới thiệu một số phạm vi hữu ích cho việc truy vấn và quản lý phiên xác thực:
by_tenant(tenant_id): Lọc người dùng theo tenant.current_tenant: Trả về tenant hiện tại của phiên làm việc.
1.3 Đổi Tên Phương Thức
Một số phương thức đã được đổi tên để dễ hiểu và dễ sử dụng hơn. Hãy tham khảo tài liệu để biết thêm chi tiết.
2. Hướng dẫn Cài đặt
2.1 Cài đặt Gem
Để cài đặt phiên bản mới nhất của Veri, bạn cần thêm dòng sau vào Gemfile của bạn:
ruby
gem 'veri', '~> 0.4.0'
Sau đó, chạy lệnh:
bundle install
2.2 Cấu hình Multi-Tenancy
Để cấu hình multi-tenancy, bạn cần tạo một model cho tenant của bạn. Ví dụ:
ruby
class Tenant < ApplicationRecord
has_many :users
end
Sau đó, khi người dùng đăng nhập, hãy chỉ định tenant cho phiên làm việc:
ruby
session[:tenant_id] = @tenant.id
3. Thực tiễn tốt nhất
- Kiểm tra định kỳ: Đảm bảo rằng bạn thường xuyên kiểm tra các phiên bản mới của gem để cập nhật các tính năng và sửa lỗi.
- Sử dụng môi trường phát triển: Hãy thử nghiệm các tính năng mới trong môi trường phát triển trước khi triển khai lên môi trường sản xuất.
4. Cách khắc phục sự cố
4.1 Vấn đề về phiên làm việc
Nếu bạn gặp phải sự cố không thể truy cập dữ liệu tenant, hãy kiểm tra lại cách bạn đang thiết lập session[:tenant_id]. Đảm bảo rằng nó được thiết lập đúng trong mỗi phiên làm việc.
4.2 Các lỗi phổ biến
- Lỗi xác thực: Nếu bạn không thể xác thực người dùng, hãy kiểm tra xem tenant có tồn tại hay không.
5. Mẹo hiệu suất
- Cache tenant: Sử dụng cache cho thông tin tenant để giảm thiểu truy vấn cơ sở dữ liệu.
- Tối ưu hóa truy vấn: Sử dụng các phạm vi đã được tối ưu trong gem để cải thiện hiệu suất truy vấn.
6. Các lưu ý quan trọng
- Đảm bảo rằng bạn đã sao lưu dữ liệu trước khi thực hiện bất kỳ thay đổi nào trong cấu hình.
- Thường xuyên kiểm tra các thay đổi trong gem để đảm bảo rằng ứng dụng của bạn luôn hoạt động ổn định.
7. Kết luận
Cập nhật Veri v0.4.0 đã mang đến tính năng multi-tenancy mạnh mẽ cho ứng dụng Ruby on Rails của bạn. Hãy chắc chắn kiểm tra các tính năng mới và áp dụng vào dự án của bạn.
Bạn đã sẵn sàng để nâng cấp chưa? Hãy truy cập GitHub của chúng tôi để xem mã nguồn và tài liệu chi tiết.
Câu hỏi thường gặp (FAQ)
Q: Multi-tenancy có thực sự cần thiết không?
A: Nếu ứng dụng của bạn phục vụ nhiều khách hàng hoặc tổ chức khác nhau, multi-tenancy là một giải pháp hiệu quả để quản lý người dùng.
Q: Có cần thay đổi mã nguồn hiện tại của tôi không?
A: Có, bạn cần cập nhật cách quản lý phiên làm việc để hỗ trợ tính năng multi-tenancy.