2011-02-17 52 views
0

我希望用戶能夠單點登錄,即一旦身份登錄Windows用戶,通過我的應用程序提供的所有服務應該沒有進一步的驗證訪問。NTLoginModule:它在哪裏檢索用戶信息?

爲了我使用JAAS(Java認證和授權服務),集成在Java中的用戶進行身份驗證。

Java API的船舶也有幾個JAAS LoginModule秒。其中一個名爲NTLoginModule,用於檢索有關當前登錄的Windows用戶的用戶信息。

  1. NTLoginModule從哪裏檢索 其信息?
  2. 我可以使用NTLoginModule爲了驗證返回的 信息 - 以安全的方式 - 當前用戶?
  3. 我有什麼安全問題需要了解?

提前致謝!

回答

0

正如我在對RDS的回答評論說:「我瞭解到,NTLoginModule是相當沒有安全感我能假返回的用戶名通過替換的rt.jar包,所以我的NTUserPrincipal.class文件。能夠返回一個僞造的用戶名,所以它不適合任何形式的認證。「

此外,通過一些研究,我發現NTLoginModule從nt.dll中檢索信息,該信息是Windows的Java本機庫的一部分。 nt.dll使用advapi32.dll爲了檢索當前的用戶信息。

1

我不能JAAS幫助,最後tyime我做了SSO與NTML,它是基於JCIFS。

不過,我回答你的第三點:有與NTLM

  • NTLM is quite weak(甚至V2)的安全問題,你應該給定數量的登錄失敗(後鎖定帳戶,以避免蠻力攻擊)。
  • NTLM無法使用其他防火牆。
  • NTLM令牌不能由第三方信任,導致double-hop problem。您的應用程序無法以登錄用戶的身份來調用另一臺受NTLM保護的服務器(如Web服務; RSS提要;或任何Web資源)。
  • 所有瀏覽器都不支持NTLM。 Internet Explorer和Chrome本身工作; Firefox需要編輯每個目標站點的配置;歌劇,Konqueror根本不支持NTLM。
+0

NTLM與NTLoginModule不一樣,我想。但是,我瞭解到NTLoginModule相當不安全。我可以通過替換rt.jar包中的NTUserPrincipal.class文件來僞造返回的用戶名,所以我能夠返回一個僞造的用戶名。所以它不適合任何形式的認證。 – Simon 2011-02-17 11:49:03