|
第三方打开个链接 有用户名和密码
需要直接登录到x5
看了下前面的帖子,用的是老portal,说是直接通过地址打开,试过了,不行
地址:http://localhost:8080/jd/portal/directLogin.w?username=system &password=E10ADC3949BA59ABBE56E057F20F883E
我的相关代码如下:不知是否源码有错
directLogin.w
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" sys-param="false">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>X5 协同管理系统</title>
<link rel="stylesheet" type="text/css" href="/UI/portal/x5/css/style.default.css" media="screen" title="defaultTheme"/>
<script type="text/javascript" src="/UI/portal/system/js/jquery/jquery.js"></script>
<script type="text/javascript" src="/UI/portal/system/js/jquery/jquery.plugins.js"></script>
<script type="text/javascript" src="/UI/portal/system/js/data.js"></script>
<script type="text/javascript">
function dataToObj(result){
if(result&&$.isArray(result)){
var result = result[0];
if (result.status&&result.status != "SUCCESS") return null;
if(result.data){
result.data = window["eval"]("(" + result.data + ")");
}else{
result.data = {};
}
result.data.status = result.status?result.status == "SUCCESS":{status:false};
return result.data;
}else{
return {status:false};
}
}
//要求传入参数是md5形式
var info = dataToObj(${info}),
adURL = ${adURL};
if(info && info.status){
var index = window.location.href.replace(/directLogin.*\.w.*/,'index.w');
if(adURL)
index += "?ad=" + encodeURIComponent(adURL);
window.location.href = index;
}else{
window.location.href = window.location.href.replace(/directLogin.*\.w.*/,'login.w');
}
</script>
</head>
<body>
</body>
</html>
direcrtLogin.java
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.justep.portal.controller.Controller;
import com.justep.ui.WModel;
public class DirectLogin implements WModel{
public void execute(Map<String, Object> vars, HttpServletRequest request, HttpServletResponse response){
//获取用户信息
String info = Controller.process("system/User/login", (HttpServletRequest)request);
vars.put("info", info);
//
String adURL = request.getParameter("ad");
if(adURL == null)
adURL = "";
vars.put("adURL", "\"" + adURL + "\"");
}
}
|
|