⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssocontroller.jsp

📁 轻量级单点登录系统源码 很齐全供大家下载分享
💻 JSP
字号:
<%@ 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>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -