我想将一个搜索字符串发送到Microsoft的Active Directory(使用Java),该字段说"给我所有拥有启用帐户的用户".
目前,我有:
String search_string ="(&(objectClass = user))";
但是,当然,这只会给我AD的用户.我也想得到那些活跃的人.它在Java中,但我认为它对LDAP不重要.
我对Java中的最佳实践有疑问.我正在写一个类,它依赖于构造中的一个对象.实际上,如果在构造中传入的对象为null,则大多数功能都没有意义.我认为最好在对象构造中将null作为参数传递的情况下抛出异常,但我不知道在这种情况下最合适的异常是什么.我应该抛出NullPointer,IllegalArgument,Instatiation,甚至是Initialization异常.
我已经看到这些都在整个Java源代码库中使用,我似乎无法区分为什么在某些情况下使用NullPointer而在其他情况下使用IllegalArgument.我个人会认为如果在构造中传递了错误的参数,则应该发生一些初始化错误.
我们的团队会抓取网站以使我们的信息保持最新。我在抓取 HTTPS 页面时遇到了安全异常。问题在于 Java 在接受页面自签名证书时存在问题。
我没有保留要接受的证书列表(这在将来可能很难维护),而是使用 neu242 提供的解决方法来禁用 SSL 证书验证。
public static void disableCertificateValidation()
{
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException
{
// TODO Auto-generated method stub
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException
{
// TODO Auto-generated method stub
}
}}; …Run Code Online (Sandbox Code Playgroud)