Java身份验证/授权服务器

时间:2011-06-11 15:02:04

标签: java postgresql authentication authorization

我在这里被深深地投入了一点,因为我从未想到我会做这样的事情,我不知道从哪里开始;所以我正在帮助某人能够帮助我(理想情况下通过提供一些java代码)...

为了保护我的Java软件免受盗版,我发现除非我继续在线检查,否则这是完全不可能的 - 这就是我想做的事情。只有,我知道的唯一细节是,我的程序需要在线与某种脚本进行通信并验证程序正在使用的许可证密钥,然后相应地报告。

但是,这就是我所知道的 - 我仍然坚持服务器端的实际内容。我希望我不是自己主持网站(使用JustHost)不会阻止我做我需要的事情。

所以基本上,我想帮助创建一个设置,允许我阻止任何人在连接到互联网时盗用我的软件。我虽然喜欢登录系统;用户许可证密钥将充当用户名和密码,但说实话我真的不知道,因为如果我这样做,那么每次他们想要使用该软件时都必须手动登录和注销。

在我走路之前不要跑,但是当用户没有连接到互联网时会发生什么?更糟糕的是,我如何判断某人是否窃取了合法用户许可证密钥?等

先谢谢,

安迪

PS如果有帮助,我计划使用PostgreSQL(或者MySQL),我不会为使用JustHost.com的专用服务器付费...

2 个答案:

答案 0 :(得分:1)

一旦您的代码在他们的机器上,他们可以修改以简单地忽略您的支票。你可以尽可能地努力,但永远不会破解。

一般来说,您的问题与this one相同,后者有一些很好的讨论。

答案 1 :(得分:1)

  1. 尝试将部分业务逻辑委派给服务器端。这样,除非应用程序许可证有效,否则某些核心进程无法完成。当然,如果你有一些可以委派的逻辑。如果您的应用程序仅限客户端,那么这种方法是不错的选择。

  2. 如果你的应用程序将以很多钱出售,请尝试使用HASP key方法(这是投资本身)而不是服务器身份验证来实施解决方案我明白这不是你问的问题,我是只是提出另一个想法。

  3. 尝试通过混淆/加密来创建安全性,如果您的应用程序变得流行,您将失败,因为总会有人在5分钟内破解它:(