1
13693261870
2022-09-16 58d012f11dd34564d81b4eb3a6099eb689876597
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package org.apereo.cas.web.flow;
 
import com.alibaba.fastjson.JSONObject;
import org.apereo.cas.services.ServicesManager;
import org.apereo.cas.web.landtool.terra.OjdbcProperties;
import org.apereo.cas.web.landtool.utils.HttpUtils;
import org.apereo.cas.web.support.WebUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.webflow.action.AbstractAction;
import org.springframework.webflow.execution.Event;
import org.springframework.webflow.execution.RequestContext;
 
import javax.servlet.http.HttpServletRequest;
 
 
 
@Component("LoginAction")
public class LoginAction extends AbstractAction {
      protected Logger logger = LoggerFactory.getLogger(getClass());
    
      @Autowired
      private OjdbcProperties ojdbcProperties;
      
      protected ServicesManager servicesManager;
      @Override
      protected Event doExecute(RequestContext requestContext) throws Exception {
 
        this.logger.debug("Initialized login sequence");
      
        System.out.print("这里是登入操作");
        System.out.println("=======================");
        System.out.println(ojdbcProperties.toString());
        System.out.println("=======================");
      //
       HttpServletRequest hsr= WebUtils.getHttpServletRequest();
 
        JSONObject json=portallogin(hsr);
        if(json!=null&&json.containsKey("username")){
        requestContext.getFlowScope().put("username", json.get("username").toString());
        }
        String serviceUrl = hsr.getParameter("service"); 
       
      if(json!=null){
            return new Event(this,"directsubmit");
      }else{
          return success();
      }
  
       
      }
      
      public void setServicesManager(ServicesManager servicesManager) { this.servicesManager = servicesManager; }
      
      public JSONObject portallogin(HttpServletRequest request) {
            String result="";
            String querystring=request.getQueryString();
            String username="";
            if(querystring!=null){
            String par[] = querystring.split("&");
            for (int i = 0; i < par.length; i++) {
                String a = par[i].split("=")[0];
                String v = par[i].split("=")[1];
                 if(a.equals("validateNumber")){
                     String validateurl="http://192.168.4.50/services/PortalLoginService/ValidLoginUser?validateNumber="+v;
                     try {
                        result= HttpUtils.get(validateurl);
                    } catch (Exception e) {
                        logger.info(result);
                        e.printStackTrace();
                    } 
                 }
                 if(a.equals("userName")){
                     username=v;
                 }
            }
                 int start= result.indexOf("<ns:return>");
                 int end=result.indexOf("</ns:return>");
                 if(start!=-1&&end!=-1){
               JSONObject json=   JSONObject.parseObject(result.substring(start+11,end));
               json.put("username", username);
               
            return json;
                 }
            }
            return null;
        
                    
        
        }
}