解决与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与帆软BI的单点登录集成。用户只需要登录OA,通过OA中的报表链接即可 登入BI。注意的是:随着致远OA版本的不断升级,该文档所列方法不一定完全适用您的环境,需要自行灵活变通。
致远OA二次开发之单点登录源码以及详细注释 如有需要,请直接获取
泛微OA E9 单点登录35邮箱,方便操作使用。免登录进入35邮箱
公司最近再开发一款OA产品,需要将CAS整合AD域实现免登陆。根据该文档,可以搭建初步环境。 but 最后的结果,这个方案太复杂了,公司妥协了,不需要免登陆,只需要CAS校验AD域。
用于OA单点登录使用。安装此软件可以快速登录OA系统
在通达OA2010上完美运行,理论上2009-2011都可以,没实验,代码完全开源并附有使用说明。 单点登录支持get或post方式登录,参数为用户名,get方式最好把用户名加密或编码传送。 同步密码只支持ajax方式,参数为...
可以用于通达OA2009-2011的所有版本实现单点登录效果
鼎捷T100webservices与泛微E9OA流程对接、单点登录、流程驳回、抽单,传送ERP附件到OA等资料
公司产品,两套 OA 系统之间实现单点登录,通过 ticket 获取登录账号信息,实现单点登录的效果
NC65 02 patch_与OA单点登录补丁
CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: 开源的企业级单点登录解决方案。 CAS Server 为需要...
里面详细介绍了php中中文乱码的问题,几种情况全解决了
关于泛微OA系统,使用IE浏览器经常遇到的问题以及解决办法
U8+ 门户集成 单点登录 u8增加功能菜单 门户集成 vb6的form窗体 和c#集成进u8
OA申请模板OA申请模板OA申请模板OA申请模板
JAVA对接蓝凌OA单点登录,源码,带注释
OA工作流概述与OA工作流实现的一点经验
致远OA单点登陆解决方案.pdf
泛微OA问题大全.pdf
通达OA与泛微OA对比文档