草庐IT

java - 为什么 DirContext.close() 不将 LDAP 连接返回到池中?

我注意到在使用LDAP连接池时,尽管有文档saying,但在上下文中调用close()似乎并未将其返回到池中otherwise.因此,当我尝试从池中获取已达到其最大大小的项目时,它会挂起。我设法将其缩小到最小范围。尽管我相信我正在确定性地对所有相关对象调用close(),但它似乎依赖于垃圾收集来实际将对象返回到池中,这是出乎意料的。为什么会这样?是否还有其他一些我应该关闭的对象?在下面的代码片段中:我人为地将最大池大小设置为1以突出问题。我从池中得到一个DirContext(第(2)行),尝试将它返回到池中(第(4)行),然后从池中得到另一个(第(6)行))应该返回相同的返回对象。相反

java - 向 LDAP 服务器代理 HTTP 摘要认证请求

最近我们一直致力于一个项目,将我们的Tomcat网络服务器与移动设备上的几个特定服务集成在一起。在与设备(通过HTTP)交互期间,我们可以做的一件事是让设备提示用户输入凭据。用户输入凭据后,我们的服务器会收到一个HTTPpost,其中包含标准HTTP摘要身份验证header(带有nonce、领域、响应等的授权header)。没什么大惊喜。我们的服务器(按设计)实际上不包含任何用户的密码。我们保留他们密码的SHA512哈希值。对于本地用户,我们可以在登录应用时开始存储“username:realm:password”的MD5。当您不存储密码时,这是处理摘要身份验证的常用方法吗?更重要的是

使用LDAP/AD登录身份验证后,如果使用AD记录不存在,则如何创建用户行

目前,我为我的Sessions_controller有此代码:classSessionsController我要做的是检查我是否正在登录的用户LDAP(如图所示我以前的问题)有一个领域users表格,如果不使用用户名自动创建一个,并将其自动归因于user_id那个铁轨确实从LDAP并把它放在我的SQLSERVERDB,问题是当我使用我的帐户登录时,它只是将我重定向到'/'(root),没有任何错误通知,也没有在我的我上创建新行database我在用着SqlServerManagementStudio我的用户表具有以下字段:idNumeroEmpregadonomecreated_atupdat

java - LDAP:如何获取 Active Directory 中的所有组?

有没有办法使用java获取ActiveDirectory中所有组的名称? 最佳答案 使用JavaJNDI,搜索(objectclass=group)并请求cn属性。这将获取所有组名称。代码示例:importjava.util.Hashtable;importjavax.naming.Context;importjavax.naming.NamingEnumeration;importjavax.naming.NamingException;importjavax.naming.directory.Attributes;importj

java - 使用 JNDI 的 LDAP 用户密码认证

publicstaticvoidmain(String[]args){StringINITCTX="com.sun.jndi.ldap.LdapCtxFactory";StringMY_HOST="ldap://Localhost:1389";StringMGR_DN="cn=John,ou=Users,o=IT,dc=QuizPortal";StringMGR_PW="password";//IdentifyserviceprovidertouseHashtableenv=newHashtable();env.put(Context.INITIAL_CONTEXT_FACTORY,I

java - 测试 ldap 连接

我想验证用户输入的ldap设置。在设置页面上,用户输入ldapurl、经理dn和密码。我在此页面上有一个“测试设置”按钮,以便用户可以快速验证ldap连接。如何轻松快速地做到这一点?我们的应用程序使用springsecurity并正在向其添加ldap身份验证。我是java和ldap的新手,因此非常感谢为我指出正确的方向。谢谢。 最佳答案 根据给定的信息,很难判断您知道什么,还不知道什么。因此,我建议您遵循java.net上的这个有用教程LdapTemplate:LDAPProgramminginJavaMadeSimple并跳过与你

java - 转换 ldap 日期

我正在以编程方式从ldap导出用户。因此,我正在从ldap检索用户。其中一个属性是whenCreated。我必须转换的值之一是:20090813145607.0Z直接拆分它我得到以下格式:yyyyMMddHHmmss+.0Z.问题是应用程序在CET时区中运行,并且存储的时间是UTC,这可能由.0Z指示。它是14:56UTC,本地表示是16:56。夏季时间似乎为2小时,冬季时间为1小时。我检查了SimpleDateFormat并且有一个时区占位符,但它的格式不同。SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmss");sdf.p

java - LDAP:如何使用连接详细信息对用户进行身份验证

我无法使用LDAP对用户进行身份验证。我有以下详细信息:URL=ldap://10.10.10.10:389LDAPBASE:DC=lab2,DC=insLDAPBindAccount:CN=LdapBind,OU=ServiceAccounts,OU=TECH,DC=lab2,DC=insLDAPBindAccountPw:secret我可以使用上述详细信息搜索sAMAccountName值,但是如何使用用户名和密码对用户进行身份验证?如果您遵循我之前的问题,那么您就会明白,我能够成功连接到LDAP服务器,但无法验证他的身份。要验证的用户:user:someusernamepassw

c++ - 如何将此 LDAP 代码从 VBS 转换为 C++

我正在尝试编写一个C++代码来枚举当前工作站在ActiveDirectory设置中所属的组。我能够想出以下VisualBasic脚本来完全满足我的需要:'DNfortheworkstationcCN="CN=WorkstationName,CN=Computers,DC=mydomain,DC=local"SetobjComputer=GetObject("LDAP://"&cCN)DimstrAllDimcolGroups,objGroupstrAll=""SetcolGroups=objComputer.GroupsForEachobjGroupIncolGroupsstrAll=

无效凭据 - GIT社区版中的LDAP访问错误

我想设置用于版本控制和连续集成的git。我使用Docker-Compose文件安装了Git社区版,如https://docs.gitlab.com/omnibus/docker/readme.html#install-gitlab-using-docker-compose。我的docker-compose.yml文件看起来像:web:image:'gitlab/gitlab-ce:latest'container_name:gitrestart:alwayshostname:'gitserver'environment:GITLAB_OMNIBUS_CONFIG:|external_url'h