2010-08-24 35 views
8

Sử dụng mysql, C# .net, Java ScriptGiấy phép cho các ứng dụng

Tôi có ứng dụng web, tôi muốn tạo ra một giới hạn người dùng cho ứng dụng của tôi có nghĩa là tôi phải sử dụng một số giấy phép cho người sử dụng ....

Ví dụ

khách hàng cần áp dụng cho 3 người sử dụng, vì vậy ứng dụng sẽ làm việc cho 3 người sử dụng, nếu khách hàng cần phải mở rộng người dùng 3-10 phương tiện, tôi phải cung cấp giấy phép cho 10 người dùng ..

Cách tạo giấy phép cho ứng dụng, tôi có sử dụng thuật toán RSA để tạo khóa?

Bất kỳ một thể cung cấp một số ý tưởng hoặc mẫu mã

Cần Giúp đỡ

+7

Tại sao bạn cần khóa đăng ký? Đó là một ứng dụng web - vô hiệu hóa chức năng cho những người không trả tiền. Việc sử dụng chính các khóa đăng ký là làm cho việc sao chép chương trình của bạn khó khăn hơn, điều đó không thực sự là vấn đề trên web ... (nói rằng - bạn có đang lộ API và cần cấp phép cho điều đó không?) – Kobi

+0

@Kobi: Tôi nghĩ câu hỏi đặt ra là: 'Làm thế nào?'. Mã hóa có thể là một thành phần hợp lệ cho giải pháp. – kbrimington

+0

Bạn có ý nghĩa gì bởi giới hạn * người dùng *? Bạn có ý nói rằng chỉ cho phép x số người dùng đồng thời hợp lệ vào thời điểm đó không? Hay bạn muốn giới hạn số lượng thông tin đăng nhập của người dùng cụ thể? – VinayC

Trả lời

5

Có sự khác biệt lớn giữa một license key và một license agreement. Một key bản quyền là một cái gì đó sử dụng để làm cho nó khó khăn hơn để sao chép các phần mềm, kể từ khi bạn đang triển khai một ứng dụng web, đây không phải là vấn đề lớn đối với bạn. Thỏa thuận cấp phép là tài liệu pháp lý mà người dùng trong đơn của bạn phải đồng ý. Tôi đoán bạn quan tâm đầu tiên.

Trong ứng dụng web, bạn nên triển khai hệ thống đăng nhập và chỉ cung cấp tên người dùng/mật khẩu cho người dùng đã thanh toán cho bạn. Nếu như Kobi đã đề cập, bạn có một API công cộng mà bạn muốn cấp phép cho người dùng khác, tôi khuyên bạn chỉ cần cung cấp cho họ một GUID uinque (System.Guid.NewGuid();) và sau đó yêu cầu GUID làm thông số cho mọi cuộc gọi API. Sau đó, bạn có thể kiểm tra xem GUID có được liên kết với tài khoản trả phí hay không, nếu có, hãy để nó bay, nếu không hủy bỏ giao dịch bằng mã lỗi. Tôi khuyên bạn nên sử dụng kết nối HTTPS cho việc này.

Nếu bạn đang cố gắng bán ứng dụng web cho người dùng, để họ có thể lưu trữ ứng dụng trên máy chủ của riêng họ, khóa cấp phép sẽ là một ý tưởng hay, bạn có thể muốn thêm nó làm thông số trong <appSettings> trong web .config. Có rất nhiều phương pháp để tạo các khóa cấp phép, nhưng tại đơn giản nhất của chúng, chúng liên quan đến việc tạo ra các số ngẫu nhiên cho đến khi một tổng kiểm tra cụ thể được đáp ứng. Ví dụ: 1253-38 (1 + 2 = 3, 5 + 3 = 8). Đó là một chìa khóa rất đơn giản có thể dễ dàng bị bẻ khóa, nhưng bạn có thể tìm ra một số tiền lớn hơn nếu bạn cần.

1

IMO, Nate Boss đã bao quát hầu hết nội dung cơ bản. Giờ hãy xem xét yêu cầu của bạn

khách hàng cần ứng dụng cho 3 người dùng, vì vậy ứng dụng sẽ hoạt động cho 3 người dùng, nếu khách hàng cần mở rộng người dùng từ 3 đến 10, tôi phải cung cấp giấy phép cho 10 người dùng. .

Bạn đã đặt tên người dùng chưa? Ví dụ: mỗi người dùng từ khách hàng sẽ có tên người dùng/mật khẩu khác nhau không? Nếu có thì tất cả những gì bạn cần làm là yêu cầu số tài khoản người dùng được tạo cho khách hàng. Bây giờ thế hệ tài khoản người dùng được thực hiện bởi bạn thì bạn không thực sự phải làm bất cứ điều gì đặc biệt. Tuy nhiên, nếu bạn muốn cho phép có đăng ký người dùng mới của chính khách hàng thì bạn cần phải có logic cấp phép trên trang đăng ký. Vấn đề cơ bản là xác định khách hàng và sau đó xác thực với khoảng không quảng cáo của bạn để xem liệu khách hàng có còn lại tài khoản người dùng hay không. Nhận dạng khách hàng có thể được thực hiện theo nhiều cách - chứng chỉ kỹ thuật số, mã đăng ký do bạn cung cấp (có thể là số ngẫu nhiên hoặc có thể là id khách hàng được mã hóa bởi PK của bạn), v.v.

Trong trường hợp bạn không có người dùng được đặt tên thì vấn đề sẽ là bao nhiêu lần đăng nhập đồng thời mà khách hàng có thể thực hiện? Điều này đơn giản như kiểm tra đối với khoảng không quảng cáo của bạn.

Các vấn đề liên quan