Commit ecfc244e by WeiCong

Merge remote-tracking branch 'origin/master'

parents c19a69cb 16005ba0
package org.sss.presentation.noui.controller;
import log.Log;
import log.LogFactory;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.sss.common.model.Argument;
import org.sss.common.model.IResult;
import org.sss.presentation.noui.api.request.NoUiRequest;
import org.sss.presentation.noui.api.response.ErrorCodes;
import org.sss.presentation.noui.api.response.NoUiVersion;
import org.sss.presentation.noui.api.response.ResultUtil;
import org.sss.presentation.noui.context.NoUiContext;
import org.sss.presentation.noui.context.NoUiContextManager;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;
@Controller
public class UkeyLoginController {
@Autowired
private NoUiVersion noUiVersion;
private static final Log log = LogFactory.getLog(UkeyLoginController.class);
@ResponseBody
@RequestMapping(value = "/getUserByDn", method = RequestMethod.POST)
public Object ukeyLogin(@RequestBody Map<String, Object> dataMap, HttpServletRequest request, HttpServletResponse reponse) throws Exception {
String certdn=request.getHeader("certdn");
log.info("====getUserByDn====certdn"+certdn);
NoUiRequest noUiRequest = new NoUiRequest(request, "", dataMap);
Map<String,Object> retDatamap=new HashMap<>();
if(StringUtils.isNotBlank(certdn))
{
Map<String,Object> map=getLoginidByDN(certdn,noUiRequest);
String loginid=map.get("nam").toString();
log.info("====getUserByDn====loginid"+loginid);
if(StringUtils.isNotBlank(loginid))
{
retDatamap.put("msgCode", "0000");
retDatamap.put("loginid", loginid);
return ResultUtil.result(ErrorCodes.SUCCESS, ErrorCodes.SUCCESS_INFO, retDatamap,noUiVersion.getVersion());
}
}
retDatamap.put("msgCode", "9999");
retDatamap.put("loginid", "");
return ResultUtil.result(ErrorCodes.SUCCESS, ErrorCodes.SUCCESS_INFO, retDatamap,noUiVersion.getVersion());
}
private Map<String,Object> getLoginidByDN(String certdn,NoUiRequest noUiRequest) {
Map<String,Object> values=new HashMap<>();
NoUiContext context = NoUiContextManager.createNoUiContext(noUiRequest);
String sql="SELECT inr,nam,ukey FROM usr WHERE ukey=?";
context.getSupport().execute(sql,new Object[]{certdn});
Argument<String> inr=new Argument<>("inr");
Argument<String> nam=new Argument<>("nam");
Argument<String> ukey=new Argument<>("ukey");
while (true)
{
context.getSupport().fetch(new IResult[]{inr,nam,ukey});
if(context.getError()!=0)
{
context.getSupport().close();
return values;
}
values.put("nam",nam.getValue());
values.put("ukey",ukey.getValue());
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment