资源简介
1、 客户端请求认证原文:应用客户端向应用服务端请求认证原文。
2、 服务端请求认证原文:应用服务端向网关请求认证原文。
3、 网关返回认证原文:网关产生认证原文并返回给应用服务端。
4、 服务端返回认证原文:应用服务端将认证原文返回给应用客户端。
5、 客户端认证:应用客户端让用户选择证书,然后产生认证请求包并发给应用服务端发起认证请求。
6、 应用服务端认证:应用服务端将请求包发给网关请求身份认证。
7、 网关返回认证响应:网关完成认证请求的处理后,将认证响应返回给应用服务端。
8、 服务端处理:应用服务端根据认证响应中的认证结果、用户属性等内容进行业务处理然后向客户端返回响应。
![](http://www.nz998.com/pic/65516.jpg)
代码片段和文件信息
/**
* Copyright © 1999-2008 JIT Co,Ltd.
* All right reserved.
*/
package cn.com.jit.cinas;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.ServletConfig;
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 org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.xmlWriter;
import sun.misc.base64Encoder;
public class AuthenServlet extends HttpServlet {
private static final long serialVersionUID = -1686835672374220173L;
private String tempURL = null propertiesURL = null;
private Properties props = null;
public void init(ServletConfig cfg) throws ServletException {
tempURL = cfg.getInitParameter(“url“);
propertiesURL = cfg.getInitParameter(“propertiesURL“);
}
protected void doGet(HttpServletRequest req HttpServletResponse resp)
throws IOException ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
/***************************************************************************
* isSuccess 认证是否成功true成功/false失败;errCode 错误码;errDesc 错误描述 *
* ************************************************************************/
//第四步:客户端认证
//第五步:服务端验证认证原文
//第六步:应用服务端认证
//第七步:网关返回认证响应
//第八步:服务端处理
/***********************************
* 获取应用标识及网关认证地址 *
***********************************/
boolean isSuccess = true;
String errCode = null errDesc = null;
// 可以根据需求使用不同的获取方法
String appId = this.getProperties(request.getSession()KEY_APP_ID);
String authURL = this.getProperties(request.getSession()KEY_AUTHURL);
if (!isNotNull(appId) || !isNotNull(authURL)) {
isSuccess = false;
errDesc = “应用标识或网关认证地址不可为空“;
System.out.println(“应用标识或网关认证地址不可为空\n“);
}
String original_data = null signed_data = nulloriginal_jsp = null username = null password = null;
/**************************
* 获取认证数据信息 *
**************************/
if (isSuccess) {
System.out.println(“应用标识及网关的认证地址读取成功!\n应用标识:“ + appId + “\n认证地址:“
+ authURL + “\n“);
if (isNotNull((String) request.getSession().getAttribute(
KEY_ORIGINAL_DATA))
&& isNotNull((String) request.getParameter(KEY_SIGNED_DATA))&&isNotNull((String) request.getParameter(KEY_ORIGINAL_JSP))) {
// 获取session中的认证原文
original_data = (String) request.getSession().getAttribute(
KEY_ORIGINAL_DATA);
// 获取request中的认证原文
original_jsp = (String) request.getParameter(
KEY_ORIGINAL_JSP);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 657 2010-08-09 17:24 bsdemo\.classpath
文件 1039 2010-04-26 13:37 bsdemo\.project
文件 454 2010-04-26 13:28 bsdemo\.settings\.jsdtscope
文件 88 2010-04-29 17:38 bsdemo\.settings\org.eclipse.core.resources.prefs
文件 633 2010-08-09 17:23 bsdemo\.settings\org.eclipse.jdt.core.prefs
文件 452 2010-04-26 13:37 bsdemo\.settings\org.eclipse.wst.common.component
文件 229 2010-08-09 17:24 bsdemo\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2010-04-26 13:28 bsdemo\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2010-04-26 13:28 bsdemo\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 20037 2010-08-16 17:00 bsdemo\src\cn\com\jit\cinas\AuthenServlet.java
文件 3604 2010-08-16 09:57 bsdemo\src\cn\com\jit\cinas\RandomServlet.java
文件 3703 2010-08-16 17:42 bsdemo\WebContent\context.jsp
文件 915 2009-08-05 15:43 bsdemo\WebContent\images\body.css
文件 66 2009-08-05 15:43 bsdemo\WebContent\images\bodylist_top1.gif
文件 98 2009-08-05 15:43 bsdemo\WebContent\images\bodylist_top2.gif
文件 846 2009-08-05 15:43 bsdemo\WebContent\images\css.css
文件 4761 2009-08-05 15:43 bsdemo\WebContent\images\testtop.gif
文件 4879 2009-08-05 15:43 bsdemo\WebContent\images\testtop1.gif
文件 5126 2009-08-05 15:43 bsdemo\WebContent\images\testtop2.gif
文件 198 2009-08-05 15:43 bsdemo\WebContent\images\topall_42.gif
文件 10503 2009-08-05 15:43 bsdemo\WebContent\images\topall_43.gif
文件 330 2009-08-05 15:43 bsdemo\WebContent\images\vssver2.scc
文件 160138 2010-04-26 14:07 bsdemo\WebContent\JITDSign.cab
文件 2325 2010-08-16 17:42 bsdemo\WebContent\login.jsp
文件 39 2010-04-26 13:28 bsdemo\WebContent\me
文件 13374 2010-08-16 17:00 bsdemo\WebContent\WEB-INF\classes\cn\com\jit\cinas\AuthenServlet.class
文件 4293 2010-08-16 13:25 bsdemo\WebContent\WEB-INF\classes\cn\com\jit\cinas\RandomServlet.class
文件 46725 2009-08-05 15:43 bsdemo\WebContent\WEB-INF\lib\commons-codec-1.3.jar
文件 279781 2009-08-05 15:43 bsdemo\WebContent\WEB-INF\lib\commons-httpclient-3.0.1.jar
文件 31605 2009-08-05 15:43 bsdemo\WebContent\WEB-INF\lib\commons-logging-1.03.jar
............此处省略23个文件信息
- 上一篇:3d x文件 角色动画模型
- 下一篇:莲花邮件系统 lotus notes
相关资源
- 易语言播放器组件无缝转换(Demo2.e)
- cc2541 BLE DEMO
- stm32f030 IAP Demo(原创)
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- CListCtrlExDemo.rar
- 易语言-海康威视SDK-DEMO
- ssm框架登录注册demo
- RK3399 DEMO官方原厂 PCB 原理图以及周边
- MQTT推送Demo
- 微信小程序驾照考试题库demo完整
- redisson的demo
- bootstrap demo 源码大全
- springboot+rabbitmq项目demo(亲测可正常运
- 美松打印机SDK MsPrintSDK-Demo-DLL-CShare-
- 基于pytorch的UNet_demo实现及训练自己的
- 百度API车牌识别DEMO.rar
- stm32f105-usart-DMA收发demo
- springboot+webflux+mongodb+freemarker
- springboot整合activiti完整demo
- RFID读写demo
- 以鼠标位置为中心的滑轮放大功能d
- 基于Zxing的二维码条形码扫描和生成
- 手机基站数据Demo
- iOS Swift简单Demo
- 海康摄像头+web3.0开发包SDK的demo
- 微信小程序开发视频+demo
- 海康SDK delphi demo
- SAML协议交互,实现工程Demo有注释
- 增值税发票电子发票导入接口规范官
- 海康监控视频接入视频demo及操作手册
评论
共有 条评论