1 集成钉钉的前提条件

  部署DataViz的服务器需要外网的访问权限,因为要通过访问钉钉的服务器进行登录校验以及获取用户,组织和角色信息。访问域名为:https://oapi.dingtalk.com

2 集成钉钉的使用场景

  开发人员通过DataViz的登录页面登录dataviz,制作公共项目以及看板,然后对钉钉用户进行授权,然后团队的其他用户就可以通过钉钉客户端(移动端和PC端)的工作台访问DataViz的看板展示页面,进行看板的查看。
  钉钉团队管理员也可以通过工作台(https://oa.dingtalk.com/index.htm#/microApp/microAppList)登录dataviz,如下图: 001

3 钉钉集成步骤说明

3.1 钉钉开发平台申请应用

  1. 登录钉钉开放平台,地址:https://open-dev.dingtalk.com/ 002
  2. 使用管理员登录,然后选择“应用开发”-“企业内部应用”-“H5微应用”-“创建应用” 003
  3. 根据实际情况填写先关信息,然后选择“下一步” 004
  4. 然后,开发模式选择 “开发应用”,开发应用类型选择“微应用”。服务器出口IP要根据实际的部署服务器进行填写。 如果DataViz部署后的访问地址是 http://www.dataviz.com/dataviz-web/src/index.html,
    那么应用首页链接:http://www.dataviz.com/dataviz-web/src/index.html#/dingtalk/mobile;
    PC端首页地址是http://www.dataviz.com/dataviz-web/src/index.html#/dingtalk/pc;
    管理后台地址是http://www.dataviz.com/dataviz-web/src/index.html#/dingtalk/manage。 然后选择“创建”。 005
  5. 然后,选择应用信息的查看详情 006
  6. 记录应用的AppKey和AppSecret,后边会用到。 007
  7. 然后选择“基本信息”-“开发信息(旧版)”,记录页面中的CorpId和SSOSecret,后边会用到。 008

3.2 DataViz配置修改

  1. 修改dataviz-service\WEB-INF\conf\dingtalk.properties文件,把上面申请应用中第6步和第7步记录的AppKey、AppSecret、CorpId和SSOSecret配置到对应的位置。 009

  2. 修改dataviz-service\WEB-INF\conf\spring\applicationContext-security.xml文件,找到如下配置,并解开注释:

     <!-- <authentication-provider ref="dingtalkAuthenticationProvider" /> 勿删  钉钉 登录 需要解开此注释-->
    
     <!-- 勿删 钉钉 登录 需要解开此注释
     <beans:bean id="dingtalkLoginFilter" class="com.neusoft.saca.dataviz.authentication.springsecurity.dingtalk.DingTalkAuthentationProcessingFilter">
         <beans:property name="authenticationManager" ref="authenticationManager"></beans:property>
         <beans:property name="authenticationSuccessHandler" ref="dingtalkAuthenticationResultHandler"></beans:property>
         <beans:property name="authenticationFailureHandler" ref="dingtalkAuthenticationResultHandler"></beans:property>
     </beans:bean>
     <beans:bean id="dingtalkAuthenticationResultHandler" class="com.neusoft.saca.dataviz.authentication.springsecurity.dingtalk.DingTalkAuthenticationResultHandler"></beans:bean>
     <beans:bean id="dingtalkAuthenticationProvider" class="com.neusoft.saca.dataviz.authentication.springsecurity.dingtalk.DingTalkAuthorizationAuthenticationProvider"></beans:bean>
      -->
    
     <!-- <custom-filter before="FORM_LOGIN_FILTER" ref="dingtalkLoginFilter"></custom-filter> 勿删 钉钉 登录 需要解开此注释-->
    
  3. 修改dataviz-service\WEB-INF\conf\spring\applicationContext.xml文件,找到如下配置:

     <bean id="userManager" class="com.neusoft.saca.dataviz.system.impl.UserManagerImpl"></bean>
     <bean id="roleManager" class="com.neusoft.saca.dataviz.system.impl.RoleManagerImpl"></bean>
     <bean id="orgManager" class="com.neusoft.saca.dataviz.system.impl.OrgManagerImpl"></bean>
     <bean id="orgExtManager" class="com.neusoft.saca.dataviz.system.impl.OrgExtManagerImpl"></bean>
    

    修改为:

     <bean id="userManager" class="com.neusoft.saca.dataviz.system.dingtalk.DingTalkUserManagerImpl"></bean>
     <bean id="roleManager" class="com.neusoft.saca.dataviz.system.dingtalk.DingTalkRoleManagerImpl"></bean>
     <bean id="orgManager" class="com.neusoft.saca.dataviz.system.dingtalk.DingTalkOrgManagerImpl"></bean>
     <bean id="orgExtManager" class="com.neusoft.saca.dataviz.system.dingtalk.DingTalkOrgExtManagerImpl"></bean>
    

    此项配置是为了对接钉钉做用户、组织和角色集成,但是会会实时查询钉钉服务器,性能较差,尤其用户和组织较多的情况下查询速度会很慢。
    可以通过其他的方式进行集成,比如可以通过访问数据库的方式获取数据,重新实现接口,用户集成可参考:系统集成中的《第4章 用户集成》

3.3 发布应用

  1. 回到钉钉开放平台(https://open-dev.dingtalk.com/#/corph5),点击创建的应用 010
  2. 选择“应用发布”-“确认发布” 011
  3. 然后,根据实际需要,选择应用的可见范围。 012
  4. 应用发布后,可见应用的用户在使用钉钉客户端时,就可以在工作台中看到发布的应用了。 013

results matching ""

    No results matching ""

    results matching ""

      No results matching ""