<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="javax.crypto.spec.DESKeySpec" %>
<%@ page import="javax.crypto.SecretKey" %>
<%@ page import="javax.crypto.SecretKeyFactory" %>
<%@ page import="javax.crypto.Cipher" %>
<%@ page import="org.apache.commons.codec.binary.Base64" %>
<%@ page import="org.dom4j.Document" %>
<%@ page import="org.dom4j.DocumentHelper" %>
<%@ page import="org.dom4j.Element" %><%
if (request.getParameter("isSubmit")!=null && request.getParameter("isSubmit").equals("1")) {
String encryptedUserInfo = request.getParameter("sso_userinfo");
String decryptedUserInfo = "";
String ssoKey = "XJbbaaAnnQC67829OLkEKwgwiZL30oegpTbptQG0SLQG97665k4O32bb5CQdnffggufXJmBW16nZesssc2AOJl6bO0wiZLiu7k7FTbq27d0CdUG9110ykINvggh5CRjn";
//out.println("encryptedUserInfo:"+encryptedUserInfo+"<br />");
try {
Base64 objBase64 = new Base64();
byte[] inputByteArray = objBase64.decode(encryptedUserInfo.getBytes());
DESKeySpec objDesKeySpec = new DESKeySpec(ssoKey.substring(ssoKey.length()/2-1, ssoKey.length()/2-1+8).getBytes("ASCII"));
SecretKeyFactory objKeyFactory = SecretKeyFactory.getInstance("DES");
SecretKey objSecretKey = objKeyFactory.generateSecret(objDesKeySpec);
Cipher objCipher = Cipher.getInstance("DES/ECB/NoPadding");
objCipher.init(Cipher.DECRYPT_MODE, objSecretKey);
decryptedUserInfo = new String(objCipher.doFinal(inputByteArray), "UTF-8");
out.println("decryptedUserInfo:"+decryptedUserInfo+"<br />");
Document xmlDoc = DocumentHelper.parseText(decryptedUserInfo.trim());
Element root = xmlDoc.getRootElement();
if (root.element("islongin").getText().equals("true"))
{
request.getSession().setAttribute("userSession", root.element("username").getText());
response.sendRedirect("default.jsp");
}
else
{
String returnUrl= request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ request.getContextPath() + "/default.jsp";
response.sendRedirect(request.getParameter("sso_signinurl") + "?ReturnUrl=" + response.encodeURL(returnUrl));
}
} catch (Exception ex) {
out.println("Exception:"+ex.getMessage()+"<br />");
}
}
%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title></title>
</head>
<body>
<form id="form1" name="form1" method="post" action="ssoController.jsp">
<div style="visibility:hidden">
<input type="text" id="sso_signinurl" name="sso_signinurl" />
<input type="text" id="sso_signouturl" name="sso_signouturl" />
<input type="text" id="sso_userinfo" name="sso_userinfo" />
<input type="text" id="isSubmit" name="isSubmit" value="0" />
<input type="submit" id="btnSubmit" name="btnSubmit" value="自动提交"/>
<script type="text/javascript" src="http://localhost:7771/SSOSite/SSOContext.aspx?app=app3">
</script>
<script type="text/javascript">
if (document.getElementById("isSubmit").value != "1") {
document.getElementById("sso_signinurl").value = ssoContext.signInUrl;
document.getElementById("sso_signouturl").value = ssoContext.signOutUrl;
document.getElementById("sso_userinfo").value = ssoContext.userInfo;
document.getElementById("isSubmit").value = "1";
document.getElementById("form1").submit();
}
</script>
</div>
</form>
</body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货