页面树结构
转至元数据结尾
转至元数据起始

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转换中文字符后使用。配置文件中的参数如下:

  • 修改 provider_url参数,将 ldap://ADServer:3268 修改为window域服务器名及端口。
  • 修改login_user参数,将 username可以登录windows域服务器的用户,用于获取用户信息。
  • 修改 login_password 参数,将 password可以登录windows域服务器的用户的密码(即login_user对应的密码),用于获取用户信息。 
  • 修改principal_prefix 参数,设置用户名前缀,通常是域的名称+\\ 
  • 如果有必要则修改base 参数,格式一般为ou=people,dc=example,dc=com类似这样的格式,默认为空白


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.最后根据异常页面中的信息来判断哪里设置有误。

 

  • 无标签