普元EOS7.5实现AD域登录

来源:互联网 发布:windows10数据库 编辑:程序博客网 时间:2024/06/05 09:52

如果需要看代码以及详细的文档,请直接打开原文件链接

AD域登录开发及配置:

1.    修改相关代码:

修改cofame源码下的coframe/auth/login/redirect.jsp

 

主要加了以下代码,可以对比原始文件:

IUserObjectuserObject =null;

   String userid =null;

   Object sessionUserObject =session.getAttribute("userObject");

   if(sessionUserObject!=null){

       userObject = (com.eos.data.datacontext.UserObject)sessionUserObject;

       userid = userObject.getUserId();

   }

   if(null==userid || userid.length()<=0 ||userid.equals("obtscustomer")){

       String adsso =BusinessDictUtil.getDictName("BUSINESS_CONFIG","adsso");

       if(adsso!=null&&adsso.equals("Y")){

          AppClient ac =newAppClient(request,response);

           String userId = ac.Login();

           if(userId!=null && userId.length()>0){

            userObject = (UserObject)PartyManagerServiceLoader.getCurrentPartyUserInitService().initUserObject(userId,ISystemConstants.DEFAULT_TENANT_ID);

              DataContextManager.current().setMapContextFactory(newcom.primeton.ext.access.http.HttpMapContextFactory(request, response));

              OnlineUserManager.login(userObject);

              session.setAttribute(IUserObject.KEY_IN_CONTEXT,userObject);

              IMUODataContext muo =MUODataContextHelper.create(session);

             DataContextManager.current().setMUODataContext(muo);

           }

       }

}

 

 

String adsso =BusinessDictUtil.getDictName("BUSINESS_CONFIG","adsso");//系统中配置了数据字典用来是否启用AD域登录

2.    登录governor系统,在不拦截URL中加上:

/coframe/auth/login/redirect.jsp配置,如下图:

 

2部署的时候修改系统jar文件:

\primeton_obts\apache-tomcat-7.0.54\webapps\default\WEB-INF\lib\net_sso_webservice.jar

将该jar文件打开,修改里面的net_sso_webservice.jar\com\sso\common\web-config.xml文件:

<addkey="SsoSiteHomePage"value="http://127.0.0.1:8080/default/coframe/auth/login/redirect.jsp"/>将里面的IP和端口修改为服务器(应用部署服务器)所在的IP的端口

net_sso_webservice.jar文件在开发studio中放在WEB-INF/lib/目录下,部署也是放在WEB-INF/lib/目录下

 

 

系统可以配置个数据字典参数,用来控制是有启用AD域登录

3.查看系统中数据字典BUSINESS_CONFIG->adsso值设置成Y