我有一些Active Directory已连接到LDAP身份验证的WebSphere实例,还有一些没有。检查WebSphere中是否启用了LDAP身份验证
我有一个servlet来处理身份验证。它调用httpServletRequest.getRemoteUser()
并检查这是否为null
。这适用于部署到支持LDAP的服务器,但在没有启用LDAP的情况下(如开发人员工作站),这意味着用户从未通过身份验证。
如何以编程方式检查容器中是否启用LDAP?
我有一些Active Directory已连接到LDAP身份验证的WebSphere实例,还有一些没有。检查WebSphere中是否启用了LDAP身份验证
我有一个servlet来处理身份验证。它调用httpServletRequest.getRemoteUser()
并检查这是否为null
。这适用于部署到支持LDAP的服务器,但在没有启用LDAP的情况下(如开发人员工作站),这意味着用户从未通过身份验证。
如何以编程方式检查容器中是否启用LDAP?
应用程序服务器的不关心注册表,它是一个LDAP服务器,数据库或其他东西。
如果安全性未在服务器上打开,那么它将始终返回null,因为用户尚未通过身份验证。
如首页所示,如果您希望在开发环境中使用用户名,则应该使用缺省文件注册表打开安全性。
的规格说明这一点:
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html
getRemoteUser
java.lang.String中getRemoteUser() 返回用户的发出此请求的登录,如果用户已经被认证,或如果用户未经过身份验证,则为null。每个后续请求是否与用户名一起发送取决于浏览器和身份验证类型。与CGI变量REMOTE_USER的值相同。 返回: 指定发出此请求的用户的登录名的字符串;如果用户登录未知,则返回null
我宁愿在WebSphere负载中使用基于文件的用户注册表启用开发人员工作站上的简单安全性。 – home 2012-01-03 04:58:30