关于单点登录的纪要

原创 2007年10月10日 09:21:00

 

关于多系统的相互登录,连接,通常都考虑到安全问题会把一些信息隐藏起来,我们在这里使用servlet的方式封装

再在页面上使用post方式进行提交登陆,使用get方式会存在一些问题,比如编码规则不一致(其他忘记了,当时没有记录)

 

package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.sac.common.bean.UserData;

public class PjLogin extends HttpServlet implements Servlet ...{
    
/**//* (non-Java-doc)
     * @see javax.servlet.http.HttpServlet#HttpServlet()
     
*/

    
public PjLogin() ...{
        
super();
    }


    
/**//* (non-Java-doc)
     * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest arg0, HttpServletResponse arg1)
     
*/

    
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException ...{

    }


    
/**//* (non-Java-doc)
     * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest arg0, HttpServletResponse arg1)
     
*/

    
protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException ...{
        arg1.setHeader(
"Pragma""No-cache");
        arg1.setHeader(
"Cache-Control""no-cache");
        arg1.setHeader(
"Expires""0");
        
        arg1.setHeader(
"Content-Type","text/html; charset=GBK");
        arg1.setCharacterEncoding(
"UTF-8");
        arg0.setCharacterEncoding(
"GBK");
        
        PrintWriter out 
= arg1.getWriter();
        String type 
= arg0.getParameter("type");
        HttpSession session 
= arg0.getSession();
        Object obj 
= session.getAttribute("pjcode");
        String pjcode 
= obj==null?"":obj.toString();
        String dcode 
= arg0.getParameter("dcode");
        
        UserData userData
=(UserData)arg0.getSession().getAttribute("userData");//获取用户信息
        
        
if(type != null && obj != null && dcode != null && pjcode.equals(dcode))...{
            
if(type.equals("type1"))...{
                String t_gysId 
= arg0.getParameter("gysId");
                String gysid 
= t_gysId==null?"":t_gysId;//供应商名称
                System.out.println("供应商名称:"+gysid);
                out.println(
"<form name='form1' action='http://211.103.190.84:8000/hdgys/PGSuppevaluscoreListExt.action' method='post'>");
                out.println(
"<input type='hidden' name='username' value='dccs'>");
                out.println(
"<input type='hidden' name='password' value='PU8r8H3BvjiyDNbkaUmhBx+dDj0='>");
//                System.err.println(gysid);
                out.println("<input type='hidden' name='f_companyname' value='" + gysid + "'>");
                out.println(
"</form>");
                out.println(
"<script>form1.submit();</script>");
            }
else if(type.equals("type2"))...{                
                out.println(
"<form name='form1' action='http://211.103.190.84:8000/hdgys/LoginSuccess.action' method='post'>");
                
if(userData!=null)...{
                out.println(
"<input type='hidden' name='username' value='"+userData.getLgnm()+"'>");
                System.err.println(userData.getLgnm());
                out.println(
"<input type='hidden' name='password' value='"+userData.getPjpwd()+"'>");
                System.err.println(userData.getPjpwd());
                }

                out.println(
"</form>");
                out.println(
"<script>form1.submit();</script>");                
            }
else if(type.equals("type3"))...{
                out.println(
"<form name='form1' action='http://211.103.190.84:8000/hdgys/PESuppBlacklistList.action' method='post'>");
                out.println(
"<input type='hidden' name='username' value='dccs'>");
                out.println(
"<input type='hidden' name='password' value='PU8r8H3BvjiyDNbkaUmhBx+dDj0='>");
                out.println(
"</form>");
                out.println(
"<script>form1.submit();</script>");                
            }
else if(type.equals("type4"))...{
                out.println(
"<form name='form1' action='http://211.103.190.84:8000/hdgys/PCSuppclassActiveInfoListTree.action' method='post'>");
                out.println(
"<input type='hidden' name='username' value='dccs'>");
                out.println(
"<input type='hidden' name='password' value='PU8r8H3BvjiyDNbkaUmhBx+dDj0='>");
                out.println(
"</form>");
                out.println(
"<script>form1.submit();</script>");                
            }

        }

    }


}

 

jsp页面的使用:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%...@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%...@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%...@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%...@page import="com.sac.common.Pub" %>
<html:html>
<HEAD>
<%...@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<META http-equiv="Content-Type" content="text/html; charset=GBK">
<META name="GENERATOR" content="IBM Software Development Platform">
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="<%=request.getContextPath() %>/theme/Master.css" rel="stylesheet" type="text/css">
<base target="mainFrame">
<TITLE>test</TITLE>
<script language="JavaScript">...
//document.oncontextmenu=new Function("event.returnValue=false;");//屏蔽右键
//
document.onselectstart=new Function("event.returnValue=false;");//屏蔽选择

</script>

</HEAD>
<bean:define id="value" name="userMenu" property="ofgpfgnu"/>
<BODY topmargin="0" leftmargin="0"  >
<form name="pjform" action="<%=request.getContextPath()%>/pjLogin" method="post" target="_blank">
<input type="hidden" name="type" value="">
<%...
String pjcode = Pub.createRan();
String css="";
session.setAttribute(
"pjcode",Pub.createRan());
%>
<input type="hidden" name="dcode" value="<%=pjcode%>">
</form>
<%...-- 左侧菜单开始 --%>
<div style=width:160;height:450;background:#daf1f7>
<TABLE cellSpacing=0 cellPadding=0 width=160 border=0 >
    
<TBODY>
            
<class=white2    href="#" onClick="pjform.type.value='type4';pjform.submit();return false;">&nbsp;&nbsp;&nbsp;登录4</A>
            
<class=white2    href="#" onClick="pjform.type.value='type2';pjform.submit();return false;">&nbsp;&nbsp;&nbsp;登录2</A>
            
<class=white2    href="#" onClick="pjform.type.value='type3';pjform.submit();return false;">&nbsp;&nbsp;&nbsp;登录3</A>
</TBODY>
</TABLE><div style='LEFT:0;WIDTH:160;POSITION:absolute;TOP:446;height:11;'> 
  
<table width="100%" height="11" border="0" cellpadding="0" cellspacing="0">
        
<tr><td><img src="<%=request.getContextPath()%>/images/hn-left_r7_c1.gif" width="160" height="11" /></td></tr></table></div></div>
<%...-- 左侧菜单结束 --%>
<noscript>
<iframe src="nosaveas.html" style="display:none"></iframe>
</noscript>
</BODY>
</html:html>


SSO单点登录原理及Demo

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。 SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 SSO的一...
  • u012815721
  • u012815721
  • 2014年10月22日 11:21
  • 2450

农村土地确权之例会纪要—— 新蔡县土地确权第五次例会会议纪要

作为技术负责人和项目负责人,我负责了河南省新蔡县和永城市农村土地确权项目,在图解地块、调查公示、数据入库等环节形成了一系列原创性成果,现以博客形式共享,希望对从事相关工作的同仁有所帮助。 本文是例会纪...
  • shaxiaozilove
  • shaxiaozilove
  • 2016年06月10日 14:04
  • 1919

基于cookie-redis实现单点登录的原理浅谈

sso俗称单点登录: 分布式项目中要实现在一个项目中登录之后其他与之有关联的项目就不要在登录了这个过程就叫单点登录 实现单点登录的方式有很多种  我们选择的是基于cookie-redis方式实现的。...
  • u012878380
  • u012878380
  • 2017年01月03日 19:56
  • 4605

Hibernate知识文档 知识点笔记纪要

  • 2008年11月20日 23:10
  • 120KB
  • 下载

springmvc+spring+shiro+cas单点登录实例

  • 2018年01月11日 11:24
  • 55.04MB
  • 下载

单点登录集成接口文档及配置实施手册

  • 2018年01月05日 15:45
  • 410KB
  • 下载

跨域单点登录

  • 2017年02月11日 10:03
  • 438KB
  • 下载

分布式 单点登录

  • 2016年06月14日 23:06
  • 29.36MB
  • 下载

cas单点登录

  • 2015年02月11日 14:56
  • 15.46MB
  • 下载

CAS jasig SSO单点登录解决方案完整版

  • 2017年04月14日 13:21
  • 102KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于单点登录的纪要
举报原因:
原因补充:

(最多只允许输入30个字)