AD域登录验证

在很多的应用项目中,客户会采用Windows域登录认证平台。要求 Smartbi 也要接windows域验证,本文介绍如何在windows域验证。请参考如下操作步骤。


1、获取ad.properties文件:

从这里点击下载该文件<ad.properties>

2、打开ad.properties文件,修改参数。

如果包含中文,则需要将使用将ad.properties重命名为ad_cn.properties,再使用<JDK>\bin\native2ascii.exe ad_cn.properties ad.properties转换中文字符后使用。配置文件中的参数如下:


3、启动Smartbi 系统后进入http://localhost:18080/smartbi/vision/config.jsp 配置界面,

3.1 上传ad.properties文件,存放在服务器上的位置

3.2修改"用户管理"配置段中的"加密类型"为CLASS,"登录验证类"为 smartbi.usermanager.auth.impl.ADAuthentication,具体如下图所示。

4、配置完成后,点击右下角的"保存"按钮,根据提示再重启Smartbi 后,即可看到效果。

 

注:若是配置后发现不能正常使用,可以通过下面方法来获取错误信息,以便定位到问题原因。

1.下载testldap.jsp文件,并根据实际情况进行下面修改:

        String initialContextFactory = "com.sun.jndi.ldap.LdapCtxFactory";
         String providerUrl = "ldap://192.168.1.91:3268";//域服务器地址
        String prefix = "smartbi\\";//域名,如图
        String userName = "administrator";//用户名
        String password = "manager";//用户密码
        String baseName = ""; //base名称,格式为ou=people,dc=example,dc=com,默认情况下不需要填写,空白就可以,可以使用使用Softerra LDAP Browser之类的工具查看
        String filterPrefix = "(&(objectCategory=Person)(sAMAccountName=";
        String filterSuffix = "))";
        String searchuser = "administrator"; //需要查询的用户
其中域名的获取方法可见下图:
        
        
2.将修改后的testldap.jsp文件放到smartbi.war/vision/目录中,并重启服务器;
3.启动服务器后访问附件文件,访问地址为:http://ip:port/smartbi/vision/testldap.jsp(这里ip和port改成访问smartbi时的ip和端口),
   正常的访问截图如下:

   

 异常访问的截图:

 

4.最后根据异常页面中的信息来判断哪里设置有误。