Tôi đang phát triển ứng dụng Client-Server bằng C#. Về cơ bản, máy chủ là một máy chủ SQL và các máy khách được phát triển trong C#. Những gì tôi muốn biết là cách tốt nhất (nếu có) để hạn chế số lượng người dùng sử dụng ứng dụng cùng một lúc - giả sử tôi muốn giới hạn hai người dùng. Tôi có giới hạn quyền truy cập của họ vào SQLserver không?Giới hạn số người dùng trong ứng dụng C#
Trả lời
Bạn sẽ có khả năng cần khái niệm "phiên" để xác định số lượng người dùng đồng thời.
Nếu muốn điều này được thực hiện theo cách không an toàn, bạn sẽ phải giới thiệu một lớp ứng dụng giữa máy chủ DB của bạn và máy khách. Sau đó, bạn có thể cung cấp các phương thức để đăng nhập và đăng xuất cho người dùng.
Tại mỗi lần đăng nhập, bạn sẽ cần tăng số lượng "người dùng đồng thời" và tại mỗi lần đăng xuất, bạn sẽ cần phải giảm.
Bạn có thể cần phải giới thiệu khái niệm về thời gian chờ phiên vì một số khách hàng có thể tắt máy mà không cần gọi phương thức logff.
Số lượng người dùng đồng thời được phép có thể được liên kết với giấy phép.
Lưu ý rằng với kiểu đếm này, bạn chỉ nên tạo một kết nối từ mỗi máy khách. Điều này có thể dễ dàng làm cho việc xây dựng ứng dụng khá khó khăn. –
Bạn chỉ cần bán giấy phép cá nhân.
Tạo ứng dụng theo cách nó kiểm tra giấy phép của nó trên máy chủ đáng tin cậy (có thể là Máy chủ SQL).
Bán giấy phép cho mỗi máy tính/người dùng.
Bằng cách này, bạn có thể dễ dàng mở rộng đến hơn 2 người dùng nếu cần.
Cũng có thể triển khai giấy phép nổi: mỗi lần người dùng cố gắng lấy giấy phép chỉ được cấp khi có sẵn. Tất nhiên giấy phép sẽ phải được 'giải phóng' sau khi ngắt kết nối hoặc hết giờ. Trong trường hợp này, bạn cần một máy chủ có chứa một số giấy phép và một dịch vụ tin cậy đưa chúng ra.
Trong ứng dụng Winforms bạn chỉ đơn giản là sẽ kiểm tra cấp giấy phép khi khởi động và bạn có thể kéo dài thời gian chờ mọi người sử dụng không một cái gì đó có ý nghĩa (ví dụ như truy vấn cơ sở dữ liệu hoặc nhấp chuột vào một mục trình đơn)
Sử dụng bảng "currentUser" để lưu trữ người dùng hiện tại đăng nhập vào hệ thống đồng thời.
Khi người dùng đăng nhập, hãy kiểm tra số hàng nếu số lượng tối đa. hàng đã đạt đến.
Xóa hàng tương ứng khi người dùng rời khỏi hệ thống. Theo cách đó, bạn cũng có thể hạn chế sử dụng cùng một ID người dùng để đăng nhập từ các máy tính khác nhau.
- 1. Giới hạn số người dùng truy cập vào ứng dụng ASP .NET trên web
- 2. BitBucket.org - chỉ giới hạn số lượng người dùng?
- 3. Giới hạn người dùng cho ứng dụng PHP của tôi - với mã ví dụ
- 4. Django: Giới hạn UpdateView cho mỗi người dùng
- 5. Giới hạn ký tự trên Instagram Tên người dùng
- 6. Android - giới hạn số đoạn trong backStack?
- 7. Giới thiệu về C# cho người dùng C/C++
- 8. Giới hạn nhiều phiên bản của một ứng dụng
- 9. Giới hạn số dòng trong textarea
- 10. Ngoại lệ: Lỗi hạn ngạch: Giới hạn tỷ lệ người dùng đã vượt quá
- 11. giới hạn đầu vào của người dùng bằng cách sử dụng javascript
- 12. Giới hạn số chuỗi song song trong C#
- 13. xlwt giới hạn số hàng
- 14. Phát hiện Vista Starter giới hạn ba ứng dụng mở
- 15. tỷ lệ giới hạn cuộc gọi hàm trong đường ray cho mỗi người dùng
- 16. Trong giới hạn tối đa mua ứng dụng
- 17. Giới hạn bộ nhớ ứng dụng tối đa trong iPad?
- 18. mongodb $ trong giới hạn
- 19. Giới hạn các loại chung trong C#
- 20. C# Ứng dụng không thể đọc/ghi vào các tệp được tạo bởi quản trị viên khi chạy trong tài khoản người dùng bị giới hạn XP
- 21. Hỏi người dùng trước khi đóng ứng dụng C# WPF
- 22. giới hạn api kênh của công cụ ứng dụng google
- 23. Tôi có thể giới hạn I/O của ứng dụng C#
- 24. Làm cách nào để giới hạn các trường trong django-admin tùy thuộc vào người dùng?
- 25. Số lượng hộp kiểm giới hạn
- 26. Giới hạn số trang pagination
- 27. Routing, không giới hạn số thông số
- 28. Có chiến lược được đề xuất nào để phát hành phiên bản beta của ứng dụng cho một số người dùng giới hạn thông qua Android Market không?
- 29. Regex cho số lượng giới hạn, dấu gạch ngang giữa không giới hạn?
- 30. Chỉ giới hạn Chỉnh sửa văn bản giới hạn Android thành Số nguyên nhập
Bạn có thực hiện việc này cho các vấn đề cấp phép không? Và, bạn không có bất kỳ máy chủ ứng dụng khác ở giữa? – ryadavilli
Vâng, tôi đang làm điều này để cấp phép cũng như tôi muốn cấp quyền truy cập ứng dụng của mình cho các khách hàng bị giới hạn. Tôi không có bất kỳ máy chủ ứng dụng nào khác ở giữa. Cơ sở dữ liệu Sql Server của tôi nằm trên một máy (gọi là máy chủ cơ sở dữ liệu) và mã ứng dụng của tôi là trên máy khách. Tôi không biết làm thế nào để cung cấp quyền truy cập cho các khách hàng bị giới hạn. Xin lỗi vì tiếng Anh của tôi. Cảm ơn bạn đã trả lời – Vinit
"muốn cấp quyền truy cập ứng dụng của tôi cho các khách hàng bị giới hạn" Bạn có thể giải thích điều này trong câu hỏi của mình hơn nữa không. Điều này vượt quá cấp phép, điều này sẽ dễ quản lý hơn với một số lượng đơn giản. – ryadavilli