package com.Insurance.ADemo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.Insurance.Filter.Audience;
import com.Insurance.Filter.ResultMsg;
import com.Insurance.Filter.ResultStatusCode;
import com.Insurance.Utils.JwtHelper;
import com.Insurance.Utils.SecurityHelper;
@RestController
public class JsonWebToken {
@Autowired
private UserInfoRepository userRepositoy;
@Autowired
private Audience audienceEntity;
@Autowired
private RedisTemplate<String, String> redisTemplate;
@RequestMapping("oauth/token")
public Object getAccessToken(@RequestBody LoginPara loginPara)
{
ResultMsg resultMsg;
try
{
if(loginPara.getClientId() == null
|| (loginPara.getClientId().compareTo(audienceEntity.getClientId()) != 0))
{
resultMsg = new ResultMsg(ResultStatusCode.INVALID_CLIENTID.getErrcode(),
ResultStatusCode.INVALID_CLIENTID.getErrmsg(), null);
return resultMsg;
}
//验证码校验
String captchaCode = loginPara.getCaptchaCode();
try {
if (captchaCode == null)
{
throw new Exception();
}
String captchaValue = redisTemplate.opsForValue().get(captchaCode);
if (captchaValue == null)
{
throw new Exception();
}
redisTemplate.delete(captchaCode);
if (captchaValue.compareTo(loginPara.getCaptchaValue()) != 0)
{
throw new Exception();
}
} catch (Exception e) {
resultMsg = new ResultMsg(ResultStatusCode.INVALID_CAPTCHA.getErrcode(),
ResultStatusCode.INVALID_CAPTCHA.getErrmsg(), null);
return resultMsg;
}
//验证用户名密码
UserInfo user = userRepositoy.findUserInfoByName(loginPara.getUserName());
if (user == null)
{
resultMsg = new ResultMsg(ResultStatusCode.INVALID_PASSWORD.getErrcode(),
ResultStatusCode.INVALID_PASSWORD.getErrmsg(), null);
return resultMsg;
}
else
{
String md5Password = SecurityHelper.getMD5(loginPara.getPassword()+user.getSalt());
if (md5Password.compareTo(user.getPassword()) != 0)
{
resultMsg = new ResultMsg(ResultStatusCode.INVALID_PASSWORD.getErrcode(),
ResultStatusCode.INVALID_PASSWORD.getErrmsg(), null);
return resultMsg;
}
}
//拼装accessToken
String accessToken = JwtHelper.createJWT(loginPara.getUserName(), String.valueOf(user.getName()),
user.getRole(), audienceEntity.getClientId(), audienceEntity.getName(),
audienceEntity.getExpiresSecond() * 1000, audienceEntity.getBase64Secret());
//返回accessToken
AccessToken accessTokenEntity = new AccessToken();
accessTokenEntity.setAccess_token(accessToken);
accessTokenEntity.setExpires_in(audienceEntity.getExpiresSecond());
accessTokenEntity.setToken_type("bearer");
resultMsg = new ResultMsg(ResultStatusCode.OK.getErrcode(),
ResultStatusCode.OK.getErrmsg(), accessTokenEntity);
return resultMsg;
}
catch(Exception ex)
{
resultMsg = new ResultMsg(ResultStatusCode.SYSTEM_ERR.getErrcode(),
ResultStatusCode.SYSTEM_ERR.getErrmsg(), null);
return resultMsg;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot的保险推荐项目.zip
共66个文件
java:24个
ds_store:11个
xml:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 73 浏览量
2023-10-25
22:25:41
上传
评论
收藏 1000KB ZIP 举报
温馨提示
matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot的保险推荐项目.zip (66个子文件)
java-springboot-Insurance-master
.DS_Store 10KB
ss.md 37B
Insurance
.DS_Store 8KB
.classpath 2KB
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 723B
org.eclipse.core.resources.prefs 185B
.jsdtscope 555B
org.eclipse.wst.common.component 741B
org.eclipse.wst.common.project.facet.core.xml 245B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.m2e.core.prefs 86B
pom.xml 3KB
src
.DS_Store 6KB
DBScript
Insurance_Mate_Script.sql 559B
.DS_Store 6KB
Insurance_Str_Script.sql 358B
Insurance_Data_Script.sql 149B
main
.DS_Store 6KB
resources
jwt.properties 180B
.DS_Store 6KB
mapper
config
sqlMapConfig.xml 0B
application.properties 1KB
java
.DS_Store 6KB
com
.DS_Store 6KB
Insurance
Utils
SecurityHelper.java 947B
JwtHelper.java 2KB
repository
InsuranceUserRepository.java 279B
Filter
ResultMsg.java 800B
HTTPBearerAuthorizeAttribute.java 3KB
HTTPBasicAuthorizeAttribute.java 4KB
JWTLoginFilter.java 2KB
ResultStatusCode.java 932B
JwtAuthenticationFilter.java 2KB
Audience.java 1KB
Business
UserController.java 959B
LoginController.java 253B
Model
InsuranceUser.java 715B
InsuranceApplication.java 3KB
ADemo
UserInfo.java 1KB
DbController.java 2KB
AccessToken.java 698B
RedisConfig.java 875B
UserController.java 2KB
UserInfoRepository.java 535B
JsonWebToken.java 4KB
LoginPara.java 1KB
CaptchaModule.java 2KB
DemoController.java 311B
ToorJar
.gitignore 33B
mysql-connector-java-5.1.44.jar 976KB
WebContent
.DS_Store 6KB
WEB-INF
.DS_Store 6KB
META-INF
MANIFEST.MF 39B
.project 1KB
.gitignore 9B
Servers
.DS_Store 6KB
.settings
org.eclipse.wst.server.core.prefs 109B
.project 200B
Tomcat v9.0 Server at localhost-config
catalina.policy 13KB
catalina.properties 7KB
context.xml 1KB
web.xml 166KB
server.xml 7KB
tomcat-users.xml 2KB
.gitignore 2KB
共 66 条
- 1
资源评论
天天501
- 粉丝: 604
- 资源: 4666
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功