解决与OA做单点CAS认证的时候乱码问题的心得
一般情况下,我们在做BS系统的时候,都有自己的一套过滤器,来处理所有访问的连接,例如
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException
{
HttpServletRequest httpreq = (HttpServletRequest) arg0;
String forwardURL = httpreq.getRequestURI().substring(httpreq.getContextPath().length()) ;
//System.out.println("url: "+forwardURL) ;
HttpSession session = httpreq.getSession(false);
if (IsAccess(forwardURL))
{
if (session == null || session.getAttribute("AMSSession") == null)
{
HttpServletResponse httprep = (HttpServletResponse) arg1;
System.out.println("没有登陆: "+forwardURL) ;
System.out.println("没有: "+httpreq.getContextPath()) ;
String Host = httpreq.getServerName();
int port = httpreq.getServerPort();
String App = httpreq.getContextPath();
if (App==null||App.trim().equals("")||App.trim().length()==1){
App = "/";
}else{
String strlast = new String(App.substring(App.length()-1));
if (!strlast.equals("/")) App = App + "/";
}
String loginUrl = "http://"+ Host + ":" + port + App + "login.jsp";
// String loginUrl = AmsGlobals.getAmsProperty("loginURL") ;
PrintWriter out = httprep.getWriter();
out.println("<html>");
out.println("<script>");
out.println("window.top.location = '"+loginUrl+"';");
out.println("</script>");
out.println("</html>");
return ;
}
else
{
arg0.setCharacterEncoding("GBK");
arg2.doFilter(arg0, arg1);
}
}
else
{
arg0.setCharacterEncoding("GBK");
arg2.doFilter(arg0, arg1);
}
}
在这里会将所有连接通过 setCharacterEncoding 处理成GBK,不过当我们做单点的时候,可能会用到OA的一套标准,会将
OA的过滤信息添加到我们系统的WEB.XML里,如果这样,处理不好可能会导致乱码,需要在添加的时候,将不需要的过滤条件删除掉。
本文地址:http://www.xszlo.com/article/2012-11-06/7494.html,转发请保留这个地址,谢谢
分享到:
相关推荐
【标题】"泛微OA E9 单点登录35邮箱"所涉及的知识点主要集中在企业信息化管理和身份认证技术上,尤其是单点登录(Single Sign-On, SSO)的应用。泛微OA E9是一款功能强大的企业协同办公系统,而35邮箱则是一个常见的...
致远OA二次开发之单点登录源码以及详细注释 如有需要,请直接获取
可以用于通达OA2009-2011的所有版本实现单点登录效果
在本场景中,公司有两个OA(Office Automation)系统,需要实现单点登录功能,让用户在访问其中一个系统后,能够无缝地访问另一个系统,提升用户体验并简化管理。 要实现两个OA系统间的单点登录,通常会采用以下...
用于OA单点登录使用。安装此软件可以快速登录OA系统
统一身份认证(CAS)是一种企业级的单点登录(SSO)解决方案,旨在提供一种统一的身份认证机制,以便用户在访问多个不同的应用时只需要提供一次用户凭证信息。CAS 是建立在开放的协议之上的,支持多层 SSO 能力,...
在通达OA2010上完美运行,理论上2009-2011都可以,没实验,代码完全开源并附有使用说明。 单点登录支持get或post方式登录,参数为用户名,get方式最好把用户名加密或编码传送。 同步密码只支持ajax方式,参数为...
本主题聚焦于“鼎捷T100 WebServices与泛微E9OA的流程对接、单点登录、流程驳回、抽单及传送ERP附件到OA”的实践知识,这些内容对于理解和实现企业信息系统间的无缝连接具有很高的价值。 鼎捷T100是一款成熟的ERP...
【标题】"NC65 02 patch_与OA单点登录补丁_ssx_2019-05-07.zip" 提供的信息显示,这是一个针对NC65版本的02号补丁,主要功能是实现与OA(Office Automation,办公自动化系统)的单点登录集成。"ssx"可能是开发人员或...
然而,我们仍可以从其中挑选出有关OA系统单点登录解决方案的关键知识点,即使这些知识点只能部分提取。 知识点一:单点登录(Single Sign-On, SSO) 单点登录是一种用户登录管理技术,它允许用户在多个应用系统之间...
JAVA 对接蓝凌 OA 单点登录是指使用 JAVA 语言开发的单点登录系统,主要用于实现蓝凌 OA 系统的单点登录功能。该系统使用了 Apache 服务器作为 Web 服务器,使用 JAVA 语言作为开发语言。 标题解释 JAVA 对接蓝凌 ...
3. **CAS客户端**:通常是指那些需要接入CAS单点登录系统的应用服务端。 4. **应用服务端**:需要集成CAS单点登录功能的应用系统。 5. **客户端**:指最终用户通过浏览器等方式访问应用服务端。 ##### 配置实现 ...
### DOMINO SSO单点登录配置与实现 #### 一、引言 在现代企业级应用环境中,单点登录(Single Sign-On, SSO)已成为提高用户体验和安全性的重要技术之一。DOMINO SSO指的是在基于IBM Domino平台的应用系统中实现单点...
### 完美解决PHP中文乱码问题:深入解析与实用指南 #### 一、理解PHP中文乱码问题 在PHP编程中,中文乱码问题是开发者经常遇到的挑战,尤其是在处理多语言网站或应用时。这一问题主要源于字符集编码不一致,即数据...
用友U8开发单点登录方案 本文主要介绍了用友U8开发单点登录方案的设计背景、应用场景、实现方式和技术细节。单点登录方案的设计目标是实现非U8系统与U8系统的集成,共享用户名和密码,实现单点登录。 设计背景 ...
通达OA header身份认证绕过漏洞利用脚本,可以检测漏洞是否存在并生成可用的cookie
### Exchange邮件系统单点登录整合知识点 #### 一、单点登录(Single Sign-On, SSO)概述 ...通过上述步骤,可以实现Exchange邮件系统与OA系统的单点登录整合,提高用户的使用效率并加强了企业的信息安全。
CAS(Central Authentication Service)是一种网络单点登录(SSO)/单点登出(SLO)协议。它的主要目的是在用户访问多个应用程序时,只需向中央CAS服务器提供一次凭证,如用户名和密码,从而简化身份验证流程。CAS...
关于泛微OA系统,使用IE浏览器经常遇到的问题以及解决办法