2323import com .changyu .foryou .tools .Constants ;
2424import com .changyu .foryou .tools .Sign ;
2525
26-
2726/**
2827 * 实行对接口进行签名
28+ *
2929 * @author xiaowei
3030 * @copyght 倡予科技有限公司
3131 */
3232public class SignFilter implements Filter {
33-
34- Logger logger =Logger .getLogger (SignFilter .class );
33+
34+ Logger logger = Logger .getLogger (SignFilter .class );
35+
3536 @ Override
36-
3737 public void destroy () {
3838
3939 }
@@ -42,73 +42,80 @@ public void destroy() {
4242 public void doFilter (ServletRequest request , ServletResponse response ,
4343 FilterChain chain ) throws IOException , ServletException {
4444 @ SuppressWarnings ("unchecked" )
45- HashMap <String ,String []> map =(HashMap <String ,String []>)request .getParameterMap ();
46- Map <String ,Object > resultMap =new HashMap <String ,Object >();
47- //String server=map.get("server")[0];
48- if (map .get ("server" )!=null &&map .get ("server" )[0 ].equals ("56846a8a2fee49d14901d39cc48b8b2a" )){
45+ HashMap <String , String []> map = (HashMap <String , String []>) request
46+ .getParameterMap ();
47+ Map <String , Object > resultMap = new HashMap <String , Object >();
48+ JSON .toJSONString (resultMap );
49+
50+ if (map .get ("server" ) != null
51+ && map .get ("server" )[0 ]
52+ .equals ("56846a8a2fee49d14901d39cc48b8b2a" )) {
4953 chain .doFilter (request , response );
5054 return ;
5155 }
52- if (map .get ("timestamp" )==null ||map .get ("secret" )==null ||map .get ("sign" )==null ){ //签名参数不能为空
53- response .reset ();
54- response .setContentType ("text/html;charset=UTF-8" );
56+ if (map .get ("timestamp" ) == null || map .get ("secret" ) == null
57+ || map .get ("sign" ) == null ) { // 签名参数不能为空
58+ response .reset ();
59+ response .setContentType ("text/html;charset=UTF-8" );
5560 response .setCharacterEncoding ("utf-8" );
56- PrintWriter out =response .getWriter ();
57- resultMap .put (Constants .STATUS , Constants .FAILURE );
58- resultMap .put (Constants .MESSAGE , "签名必要参数不能为空" );
59- out .print (JSON .toJSONString (resultMap ));
60- return ;
61- }
62-
63- String sign =Sign .getSignature (map );
64- String secret =map .get ("secret" )[0 ];
65- System .out .println ("server=" +sign );
66- System .out .println ("client=" +map .get ("sign" )[0 ]);
67- /* System.out.println(timeStamp);
68- System.out.println(new Date().getTime());*/
69- if ((new Date ().getTime ()-Long .parseLong (map .get ("timestamp" )[0 ]))>10 *1000 *6 ){
70- response .reset ();
71- response .setContentType ("text/html;charset=UTF-8" );
61+ PrintWriter out = response .getWriter ();
62+ resultMap .put (Constants .STATUS , Constants .FAILURE );
63+ resultMap .put (Constants .MESSAGE , "签名必要参数不能为空" );
64+ out .print (JSON .toJSONString (resultMap ));
65+ return ;
66+ }
67+
68+ String sign = Sign .getSignature (map );
69+ String secret = map .get ("secret" )[0 ];
70+ System .out .println ("server=" + sign );
71+ System .out .println ("client=" + map .get ("sign" )[0 ]);
72+ /*
73+ * System.out.println(timeStamp); System.out.println(new
74+ * Date().getTime());
75+ */
76+ if ((new Date ().getTime () - Long .parseLong (map .get ("timestamp" )[0 ])) > 10 * 1000 * 6 ) {
77+ response .reset ();
78+ response .setContentType ("text/html;charset=UTF-8" );
7279 response .setCharacterEncoding ("utf-8" );
73- PrintWriter out = response .getWriter ();
74- resultMap .put (Constants .STATUS , Constants .FAILURE );
75- resultMap .put (Constants .MESSAGE , "会话已超时" );
76- out .print (JSON .toJSONString (resultMap ));
77- return ;
78- } else if (!map .get ("sign" )[0 ].equals (sign )){
79- response .reset ();
80- response .setContentType ("text/html;charset=UTF-8" );
80+ PrintWriter out = response .getWriter ();
81+ resultMap .put (Constants .STATUS , Constants .FAILURE );
82+ resultMap .put (Constants .MESSAGE , "会话已超时" );
83+ out .print (JSON .toJSONString (resultMap ));
84+ return ;
85+ } else if (!map .get ("sign" )[0 ].equals (sign )) {
86+ response .reset ();
87+ response .setContentType ("text/html;charset=UTF-8" );
8188 response .setCharacterEncoding ("utf-8" );
82- PrintWriter out = response .getWriter ();
83- resultMap .put (Constants .STATUS , Constants .FAILURE );
84- resultMap .put (Constants .MESSAGE , "接口签名错误" );
85- out .print (JSON .toJSONString (resultMap ));
86- return ;
87- } else {
88- Map <String ,Object > paramMap = new HashMap <>();
89- paramMap .put ("secrect" ,secret );
90- HttpServletRequest httpRequest = (HttpServletRequest ) request ;
91- WebApplicationContext wac =
92- WebApplicationContextUtils .getRequiredWebApplicationContext (httpRequest .getSession (). getServletContext ());
93-
94- //String flag=keyService.SelectKey(paramMap);
95- KeyService keyService =( KeyService ) wac . getBean ( "keyService" );
96- String flag = keyService . SelectKey ( paramMap );
97- if ( flag == null ){
98- response . reset ();
99- response .setContentType ( "text/html;charset=UTF-8" );
100- response .setCharacterEncoding ( "utf -8" );
101- PrintWriter out = response .getWriter ( );
102-
103- resultMap . put ( Constants . STATUS , Constants . FAILURE );
104- resultMap .put (Constants .MESSAGE , "密钥不存在" );
105- out . print ( JSON . toJSONString ( resultMap ) );
106- return ;
107- }
108- chain . doFilter ( request , response );
109- }
110-
111-
89+ PrintWriter out = response .getWriter ();
90+ resultMap .put (Constants .STATUS , Constants .FAILURE );
91+ resultMap .put (Constants .MESSAGE , "接口签名错误" );
92+ out .print (JSON .toJSONString (resultMap ));
93+ return ;
94+ } else {
95+ Map <String , Object > paramMap = new HashMap <>();
96+ paramMap .put ("secrect" , secret );
97+ HttpServletRequest httpRequest = (HttpServletRequest ) request ;
98+ WebApplicationContext wac = WebApplicationContextUtils
99+ .getRequiredWebApplicationContext (httpRequest .getSession ()
100+ . getServletContext ());
101+
102+ // String flag=keyService.SelectKey(paramMap );
103+ KeyService keyService = ( KeyService ) wac . getBean ( "keyService" );
104+ String flag = keyService . SelectKey ( paramMap );
105+ if ( flag == null ) {
106+ response .reset ( );
107+ response .setContentType ( "text/html;charset=UTF -8" );
108+ response .setCharacterEncoding ( "utf-8" );
109+ PrintWriter out = response . getWriter ();
110+
111+ resultMap .put (Constants .STATUS , Constants . FAILURE );
112+ resultMap . put ( Constants . MESSAGE , "密钥不存在" );
113+ out . print ( JSON . toJSONString ( resultMap )) ;
114+ return ;
115+ }
116+ chain . doFilter ( request , response );
117+ }
118+
112119 }
113120
114121 @ Override
0 commit comments