以下从创建项目(1,2步),配置项目及添加必要引用(3,4,5步),实现接口(6)以及最后的调试(7)几个方面说明,其中3,4,5步主要为了能调试项目,很关键,现场要调试提供的示例程序也需要确认和做这几步。

  1. 开发机器上需要有c#开发工具(譬如Visual Studio),安装了excel以及smartbi电子表格设计器
  2. 使用Visual Studio创建普通的类库项目


  1. 右键项目,选择属性>调试,设置启动程序为excel


  1. 同时将输出路径设为smartbi电子表格设计器的安装路径/plugin目录下,这样才可以在调试环境调试你自定义的登录验证插件。


  1. 添加依赖项目(见下图)


  1. 实现Smartbi.WebClient.Authentication.IAuthPlugin接口

示例项目SmartbiExcelAuthPlugin含有两种实现,一种是动态密码验证DynamicVerificationAuth(登录时会弹出窗口让输入动态密码,因为依赖于扩展包中自定义验证方法,这个应用了是无法登录成功的,只是告知遇到类似情况该如何处理),一种是密码加密传输EncriptyAuth(就是登录时按项目约定加密方式加密密码再验证登录,这个示例的加密算法需要自行实现,还是以未加密方式登录),配置插件方法和https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=21955564相同。
示例中的类也EncriptLoginService和DynamicLoginService很关键,他们都有继承ServiceBase,这是excel设计器和smartbi服务器沟通(譬如调用其中的module)的主要实现方法。

  1. 直接启动项目调试,譬如示例项目SmartbiExcelAuthPlugin,这时候会在配置界面看到两个登录插件


测试没问题了,就可以生成项目,将生成的dll(譬如示例项目就是:SmartbiExcelAuthPlugin.dll)分发出去给用户使用。用户配置方法和cas插件配置方法一样,就是将这个dll放到smartbi电子表格设计器安装路径的plugin目录。