JAVA项目实现授权 (一)

JAVA项目实现授权部署 (一)

  请注意:这个只是个比较low的实现,如果那种考虑用户懂代码,又拿到源码的,别看这个了还是。对我们来说,拿到源码,没有什么破不了的,只不过是时间问题,对不?
   如果项目部署到服务器上,需要当前服务器授权后才能正常访问,也就是说,控制项目的部署位置。当项目部署完成,进行访问时,忽然弹出了下边的小窗口。
在这里插入图片描述
   如果没有授权码,就算部署到这个服务器上,也没法用,但实现这个功能不是很复杂。

可以由如下步骤的方法来简单实现:

1、 代码里,通过系统名称 + 物理地址+硬盘序号+当前时间等等一些能区别服务器的参数作为源,来加密成一个申请码,也就是上图中的那串,在项目初次访问会因为验证授权失败返回这个申请码。

加密成
系统名称 + 物理地址+硬盘序号+当前时间
申请码

2、用户把这个申请码发给授权人,一般我们会做成一个授权软件,在该授权软件里,将这个申请码,通过相同的方法,反解析成系统名称 + 物理地址+硬盘序号+授权时间,然后再将得到的系统名称 + 物理地址+硬盘序号+当前时间 ,拼上授权截止时间 ,最后,再加密成一个授权码。

反解析成
加上授权截止时间加密成
申请码
系统名称 + 物理地址+硬盘序号+当前时间
授权码

3、这里注意一下,上边的加密成申请码和授权码,这里用的都是同一种加密方式,是可逆的加密,两者的不同仅仅在于多了个截止时间,当然加密方法里还额外加了盐,就算你知道加密方法,也不知道盐(拿到源码那没办法,你赢了),用户拿到授权码后,填到上图的授权码位置,保存后,服务器会将这个授权码保存起来,或者保存到一个固定文件里,或者保存到数据库里。

保存到
授权码
服务器指定位置授权文件

4、当用户再次访问系统时,会去保存授权码的地方,拿到授权码,并反解析成系统名称 + 物理地址+硬盘序号+授权时间+截止时间,这里叫baseCode,然后,将实际的服务器系统名称 + 物理地址+硬盘序号 ,这里叫loginCode ,通过对baseCodeloginCode 的相互比较,另外加上截止时间 是否过期,来判断是否能验证成功,如果成功,才能通过验证。

Created with Raphaël 2.2.0 登录访问 解析授权码 获取本机信息 比较验证? 访问成功 yes no

5、 这里也能看出来,即使,能拿到其他授权机器上的授权码也没用,因为相互之间的物理地址、硬盘序号 是不一样的,除了改代码,没法通过验证。

再配一张详细的步骤图方便大家理解:

在这里插入图片描述

   以上是实现的说明,下一篇我会贴出具体的代码,具体请看这个链接 JAVA项目实现授权 (二)

  • 19
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
### 回答1: 要在 Java实现微信授权登录,需要按照以下步骤操作: 1. 在微信开放平台(https://open.weixin.qq.com/)申请微信登录的第三方平台资格,并获取相应的 AppID 和 AppSecret。 2. 使用 Java 的网络编程库(如 HttpClient)向微信的授权服务器发送请求,获取临时登录凭证(code)。 3. 使用 AppID 和 AppSecret 向微信的授权服务器发送请求,获取访问令牌(access_token)。 4. 使用访问令牌向微信的授权服务器发送请求,获取用户信息(如用户名、头像等)。 5. 将获取到的用户信息存储到数据库中,并在应用中使用。 具体的实现细节可以参考微信开放平台的文档(https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Authorization_Guide/Authorization_Code_Access_Token.html)或者搜索相关的资料。 ### 回答2: 要实现微信授权登录,可以通过以下步骤进行: 1. 首先,需要在微信开放平台上创建一个开发者账号,并创建一个应用。在创建应用时,会生成一个应用ID(AppID)和一个应用密钥(AppSecret)。 2. 在Java项目中,可以使用第三方开源库,如微信开放平台提供的官方Java SDK或其他第三方SDK来处理微信授权登录。这些库可以提供现成的API调用接口,简化开发过程。 3. 在Java中,需要使用生成的AppID和AppSecret,通过API调用进行微信登录授权。可以使用SDK提供的接口,如获取授权登录二维、通过code获取用户授权信息等。 4. 在用户打开应用时,可以提供一个“微信登录”按钮,用户点击后,调用SDK提供的接口生成二维,并将二维展示给用户。用户使用微信扫描二维后,会跳转到微信客户端进行授权。 5. 微信客户端会验证用户身份,并获取用户授权信息,如用户昵称、头像等。然后会将授权信息通过回调URL返回给开发者后台。 6. 开发者后台在接收到回调后,通过调用SDK提供的API,将回调中的授权信息进行验证和解析。可以通过验证信息,确定用户的身份,并获取用户基本信息。 7. 接下来,开发者可以根据用户的授权信息,进行相应的业务处理,如登录、注册、授权记录等。可以根据需要,将用户关联到自己的系统中。 总的来说,Java实现微信授权登录的关键就在于,通过API调用获取到微信用户的授权信息,并将之与自己的系统进行关联,以实现用户登录和相关业务处理。 ### 回答3: 要实现微信授权登录,首先需要了解微信开放平台的相关接口和授权机制。 1. 注册微信开放平台账号并创建应用。在微信开放平台注册账号并创建应用,获得唯一的AppID和AppSecret。 2. 在后端服务器编写Java。使用Java编写后端服务器,监听微信的授权回调和请求,处理用户登录和授权。 3. 用户发起微信登录请求。在前端页面中,用户点击微信登录按钮,触发授权请求。 4. 后端发起授权请求。前端将用户请求的授权URL发送给后端服务器,后端服务器使用Java发起请求到微信服务器,携带AppID、AppSecret、授权回调地址等信息。 5. 微信回调授权页面。微信服务器验证请求合法性后,将用户重定向至授权页面,用户选择是否同意授权。 6. 获取授权访问凭证。用户同意授权后,微信服务器会携带一个授权(code)重定向至预先设置的回调URL。后端服务器使用Java解析授权回调,获取授权。 7. 获取访问令牌和用户信息。后端服务器再次发起请求,携带授权等参数,获取访问令牌(access_token),以及用户的基本信息(如OpenID、头像等)。 8. 返回登录信息给前端。后端服务器使用Java处理获取到的用户信息,生成登录凭证,并返回给前端。前端根据返回的登录凭证,进行下一步的用户登录流程。 通过以上步骤,即可实现使用Java编程语言实现微信授权登录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茁壮成长的凌大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值