项目中使用spring mvc的@ResponseBody注解返回结果,现在的需求是不改变原来的业务逻辑代码,对结果进行加密,如何处理?
@Controller
@RequestMapping(value = "/crypt")
public class CryptController {
@ResponseBody
@RequestMapping(value = "/decrypt", method = RequestMethod.GET)
public String decrypt(int id, String name) {
return "id=" + id + ", name=" + name;
}
}
本人尝试使用Filter处理,但是没成功,求高手指教。
Voulez-vous crypter votre mot de passe ? ? Peut être chiffré avec md5
Ne changez pas le code d'origine ? Cela signifie-t-il que le code n'est pas modifié ? Logique métier ou code pour l'ensemble du projet ?
Vous pouvez essayer d'écrire une classe d'outil de chiffrement, y jeter les éléments que vous souhaitez chiffrer avant de revenir, puis de la renvoyer
Le filtre peut-il imprimer des enregistrements ?
Le but de ne pas poser la question n’est-il pas d’assurer la sécurité ? Vous pouvez utiliser les méthodes suivantes
.1. Ajoutez un jeton ou une authentification de session à la demande pour empêcher les appels aléatoires
2 Vous pouvez utiliser la méthode postHandle de Spring MVC Interceptor pour traiter davantage les résultats
Utilisez simplement la fonction d'intercepteur fournie avec Spring MVC pour l'implémenter
N'est-il pas nécessaire de chiffrer ""id=" + id + ", name=" + name" ? De quoi parlent-ils en haut... Chaque interface renvoie des données chiffrées, décryptées dans le filtre, à l'aide de des, etc.