2010-08-24 16 views
8

El uso de MySQL, C#, Java ScriptLicencia para la aplicación

que tiene la aplicación web, quiero crear un límite de usuarios para mi aplicación que significa que tengo que utilizar un poco de licencia para los usuarios ....

para el Ejemplo

cliente necesita la aplicación para 3 usuarios, por lo que la aplicación funcionará para 3 usuarios, si el cliente necesita para extender el usuario de 3 a 10 medios, tengo que proporcionar una licencia para 10 usuarios ..

Cómo crear una licencia para la aplicación, tengo usar el algoritmo RSA para generar una clave?

Puede alguno proporcionan alguna idea o ejemplo de código

Necesita ayuda

+7

¿Por qué necesita una clave de registro? Es una aplicación web: deshabilitar la funcionalidad para las personas que no pagaron. El uso principal de las claves de registro es para dificultar la copia de su programa, que no es realmente un problema en la web ... (dicho eso, ¿está exponiendo una API y necesita una licencia para eso?) – Kobi

+0

@Kobi: Creo que la pregunta es: '¿Cómo?'. El cifrado puede ser un ingrediente válido para la solución. – kbrimington

+0

¿Qué quiere decir con * user * limit? ¿Quiere decir que permite solo x cantidad de usuarios simultáneos válidos en ese momento? ¿O desea limitar el número de inicios de sesión por usuario particular? – VinayC

Respuesta

5

Hay una gran diferencia entre un license key y una license agreement. Una clave de licencia es algo que se usa para hacer más difícil para copiar el software, ya que se están implementando una aplicación web, esto no debería ser un gran problema para usted. Un acuerdo de licencia es un documento legal que los usuarios de su aplicación deben aceptar. Supongo que estás interesado en el primero.

En una aplicación web, debe implementar un sistema de inicio de sesión y solo proporcionar nombre de usuario/contraseñas para los usuarios que le han pagado. Si como mencionó Kobi, tiene una API pública que le gustaría licenciar a otros usuarios, le recomiendo que simplemente les dé un GUID uinque (System.Guid.NewGuid();) y luego requiera ese GUID como un parámetro para cada llamada API. Luego, puede verificar si el GUID está asociado con una cuenta paga, de ser así, déjelo volar, si no cancela la transacción con un código de error. Yo recomendaría usar una conexión HTTPS para esto.

Si está intentando vender su aplicación web a los usuarios, para que puedan alojarla en su propio servidor, una clave de licencia sería una buena idea, puede agregarla como parámetro en <appSettings> en la web. .config. Existen muchos métodos para generar claves de licencia, pero en su forma más sencilla implican generar números aleatorios hasta que se cumple una suma de comprobación específica. Por ejemplo, 1253-38 (1 + 2 = 3, 5 + 3 = 8). Esa es una clave muy simple que sería fácil de descifrar, pero podría obtener una suma de verificación más profunda si lo necesitara.

1

IMO, Nate Boss ha cubierto la mayoría de las cosas básicas. Ahora mirando su requisito

cliente necesita la aplicación para 3 usuarios, por lo que la aplicación funcionará para 3 usuarios, si el cliente necesita extender el usuario de 3 a 10 significa, tengo que proporcionar una licencia para 10 usuarios ..

¿Tiene usuarios designados? Por ejemplo, ¿cada usuario del cliente tendrá un nombre de usuario/contraseña diferente? En caso afirmativo, todo lo que necesita hacer es tener la cantidad necesaria de cuentas de usuario generadas para el cliente. Ahora la generación de la cuenta de usuario la realiza usted y no tiene que hacer nada especial. Sin embargo, si desea permitir el registro de un nuevo usuario por parte del cliente, entonces necesita tener una lógica de licencia en la página de registro. El problema básico sería identificar al cliente y luego validarlo contra su inventario para ver si el cliente tiene alguna cuenta de usuario. La identificación del cliente se puede hacer de muchas maneras: certificado digital, un código de registro proporcionado por usted (puede ser un número aleatorio o puede ser una identificación de cliente salada cifrada por su PK) etc.

En caso de que no tenga usuarios nombrados, el problema sería cuántos clientes de inicio de sesión concurrentes pueden hacer? Esto es tan simple como verificar contra su inventario.

Cuestiones relacionadas