This commit is contained in:
牛子源 2025-04-25 14:49:52 +08:00
parent 61d081c7cf
commit 9ff94d0beb
5 changed files with 64 additions and 27 deletions

View File

@ -41,10 +41,9 @@ public class MvcInterceptor implements HandlerInterceptor {
setParms(request); setParms(request);
setHeaders(request); setHeaders(request);
// 排除 /user/login 接口的校验 if (!request.getRequestURI().endsWith("/manager/user/login")) {
// if (!request.getRequestURI().endsWith("/manager/user/login")) { return checkManage(response);
// return checkManage(response); }
// }
return true; return true;
} }

View File

@ -1,21 +1,35 @@
package com.syjiaer.clinic.server.common.util; package com.syjiaer.clinic.server.common.util;
import com.syjiaer.clinic.server.common.exception.MessageException;
import org.springframework.stereotype.Component;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher; import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import java.security.InvalidKeyException;
import java.security.KeyFactory; import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.PublicKey; import java.security.PublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec; import java.security.spec.X509EncodedKeySpec;
import java.util.Base64; import java.util.Base64;
public class RsaUtil { public class RsaUtil {
private final String publicKeyText="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuZIsQPculdbnvQhgNN6DyvMgnr1NhYfUcL6hYbUTrO1aF/GJDBOL8HTHnII8rz5CNmG/R55Ev6nMb9kLHnhjXujDsdNpNjVtH1EZkvjxIIl87sPP0xQCeI2qScLX2Jb/41g6zv2iopwISV/tbKk4KchJaMByJFpUfA1Dpc35sjQugI2j4+MY7OSd6JFO2i/xmtwev2cBQqZ6y7YX6BgMyKxBnaYZ9sFTa5AkMZoIfMyfllQm/MFtStHcLPM/sycooQOGwYGsFCShY/4oSwaG+WlVdW28+JOHgWlNAMR7S5ebb8PkGF+Kyva/KR+EG1b8bL5MkA1iZ5+dRFrQXwE3gwIDAQAB" ; private static final String publicKeyText="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuZIsQPculdbnvQhgNN6DyvMgnr1NhYfUcL6hYbUTrO1aF/GJDBOL8HTHnII8rz5CNmG/R55Ev6nMb9kLHnhjXujDsdNpNjVtH1EZkvjxIIl87sPP0xQCeI2qScLX2Jb/41g6zv2iopwISV/tbKk4KchJaMByJFpUfA1Dpc35sjQugI2j4+MY7OSd6JFO2i/xmtwev2cBQqZ6y7YX6BgMyKxBnaYZ9sFTa5AkMZoIfMyfllQm/MFtStHcLPM/sycooQOGwYGsFCShY/4oSwaG+WlVdW28+JOHgWlNAMR7S5ebb8PkGF+Kyva/KR+EG1b8bL5MkA1iZ5+dRFrQXwE3gwIDAQAB" ;
public String decryp(String encryptedDataStr) throws Exception { public static String decryp(String encryptedDataStr) {
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(Base64.getDecoder().decode(publicKeyText)); X509EncodedKeySpec keySpec = new X509EncodedKeySpec(Base64.getDecoder().decode(publicKeyText));
PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(keySpec); PublicKey publicKey = null;
try {
publicKey = KeyFactory.getInstance("RSA").generatePublic(keySpec);
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, publicKey); cipher.init(Cipher.DECRYPT_MODE, publicKey);
byte[] encryptedData = Base64.getDecoder().decode(encryptedDataStr); byte[] encryptedData = Base64.getDecoder().decode(encryptedDataStr);
return new String(cipher.doFinal(encryptedData)); return new String(cipher.doFinal(encryptedData));
} catch (Exception e) {
throw new MessageException("授权证书不正确或者已失效");
}
} }
} }

View File

@ -0,0 +1,29 @@
package com.syjiaer.clinic.server.controller.common;
import com.alibaba.fastjson.JSONObject;
import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.util.RsaUtil;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/auth")
public class AuthController extends BaseController {
@Autowired
private Config config;
@RequestMapping("set")
public Result<JSONObject> set() {
String ciphertext = parmsUtil.getString("ciphertext", "请输入密文");
String data= RsaUtil.decryp(ciphertext);
config.set("common","cert",ciphertext);
return success(JSONObject.parseObject(data));
}
@RequestMapping("set")
public Result<JSONObject> get() {
String cert=config.get("common","cert");
return success(JSONObject.parseObject(cert));
}
}

View File

@ -3,6 +3,7 @@ package com.syjiaer.clinic.server.controller.common;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.config.Config; import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.util.RsaUtil;
import com.syjiaer.clinic.server.common.vo.Result; import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController; import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.entity.common.CommonConfig; import com.syjiaer.clinic.server.entity.common.CommonConfig;
@ -58,16 +59,6 @@ public class CommonConfigController extends BaseController {
return success(); return success();
} }
@RequestMapping("setcert")
public Result<Object> sercert() {
Map<String, Object> parms = getParms();
String encryptedText = parmsUtil.getString("encryptedText", "请输入密文");
CommonConfig commonConfig = new CommonConfig();
commonConfig.setK("common_cert");
commonConfig.setVal(encryptedText);
commonConfigService.saveOrUpdate(commonConfig);
return success();
}
@RequestMapping("get") @RequestMapping("get")
public Result<Object> get() { public Result<Object> get() {
@ -102,11 +93,7 @@ public class CommonConfigController extends BaseController {
return success(map); return success(map);
} }
// @RequestMapping("parsing")
// public Result<JSONObject> parsing() {
// String ciphertext = parmsUtil.getString("ciphertext", "请输入密文");
// return success(new RsaUtil().parsing(ciphertext));
// }
} }

View File

@ -39,6 +39,14 @@ public class ManagerUserController extends BaseController {
String password = (String) parms.get("password"); String password = (String) parms.get("password");
return success(managerUserService.login(username, password)); return success(managerUserService.login(username, password));
} }
@PostMapping("signUp")
public Result<String> signUp() {
Map<String, Object> parms = getParms();
String ip = (String) parms.get("ip");
String mac = (String) parms.get("mac");
return success();
}
//验证token //验证token
@PostMapping("verify") @PostMapping("verify")