Nam*_*ame 4 authentication kerberos ldap ldif
我想使用LDAP服务器(可能是Apache目录)来管理应用程序的登录和凭据.应用程序有时需要脱机工作(在笔记本电脑上)而无需连接到LDAP服务器.
复制凭证的最佳方法是什么?
我已经考虑过了:
使用Mitosis在笔记本电脑上复制LDAP服务器.
但这将是一个非常"沉重"和复杂的解决方案.此外,有丝分裂似乎尚未完成.
将凭据导出为可存储在笔记本电脑上的LDIF文件.
但我需要一种方法来检查LDIF文件是否实际来自LDAP服务器(该文件应包含一种签名).此外,我想拒绝超过一周没有更新的LDIF文件.如果我能避免自己实施签名和年龄检查,那就太好了.
还有其他可以帮助我的想法或工具吗?
编辑编辑:我看过Kerberos,因为Java-Kerberos-API的文档似乎说可以在本地缓存中使用缓存的票证,我认为这可能是我的解决方案.此外,Kerberos可以作为插件添加到Apache Directory中.但Kerberos缓存存储解密的票证(旨在与其他应用程序共享它们).我需要加密版本的票证才能在离线会话期间检查用户密码.结论:Kerberos不能为我的问题提供简单的解决方案.
知道如果用户必须先在线登录才能离线登录,那么可以考虑以下算法:
(username + password)LDAP进行身份验证
(username + password)
hash(password)作为(cached_credentials)对(username)进入本地安全存储[[STOP]][[STOP]](cached_credentials)对(username)本地安全存储
(cached_credentials)存在AND比最近(1 week)?
(cached_credentials)反对hash(password)
[[STOP]][[STOP]](cached_credentials)OR最近不存在比(1 week)?
[[STOP]]顺便说一句,这是(或者是IIRC)Windows NT +用于针对域控制器进行用户身份验证的相同模型.登录后,将尝试对域控制器进行身份验证,并创建或更新用户配置文件的本地(缓存)版本.如果域控制器不可用,系统将提示用户对本地(缓存)配置文件中捕获的凭据(如果存在)进行身份验证.
编辑
这是我决定使用的解决方案(我已经在对我的问题的编辑中描述了它,但我希望能够接受“关闭”问题的答案):
由于我没有找到其他解决方案,因此我决定使用 LDIF 导出,在文件开头添加时间戳作为注释,然后对文件进行签名。为了对文件进行签名,我计算了文件的哈希值 (SHA-1) + 密钥。签名作为注释添加在文件的开头。为了检查签名,我删除了签名文件的第一行并重新计算哈希值。
| 归档时间: |
|
| 查看次数: |
6663 次 |
| 最近记录: |