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;
|
|
|
|
}
|
}
|