2013-04-25 144 views
0

我將在服務器中託管我的應用程序。我只想獲取登錄到我的應用程序的用戶的NT ID。如果有人有答案,請分享一下嗎?從Java服務器獲取登錄用戶的NT ID

system.getremoteUser()system.getProperty將返回主機名稱。

回答

1

如果您具體談談NT ID在Java取,這可能工作

com.sun.security.auth.module.NTSystem NTSystem = new 
      com.sun.security.auth.module.NTSystem(); 
    System.out.println(NTSystem.getName()); 
    System.out.println(NTSystem.getDomain()); 
    System.out.println(NTSystem.getUserSID()); 

但對於那些你已經NTLM身份驗證,你應該有NTLM(Windows)中web應用的上下文用戶爲你的應用程序的用戶作爲 - 這是一般情況。

在通過NTLM對用戶進行身份驗證時,最好查詢NTLMRealm(在Tomcat中)或將用戶身份(SID等)存儲在上下文中(這可以是基於會話的或特定的自定義服務器端實現)。現在使用此上下文來檢索登錄的用戶的NTLM屬性(SID,GroupID等)。

相關問題