2009-04-07 34 views

Trả lời

12
System.getProperty("user.name") 
+0

Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn. – VansFannel

+0

Tôi có thể sử dụng điều này trên một ứng dụng Java Web không? – VansFannel

+5

Điều này rất dễ giả mạo. -Duser.name = Quản trị viên –

12

Nếu bạn cần tên miền, bạn có thể sử dụng này:

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

Bye.

+0

Tôi có thể sử dụng điều này trên ứng dụng Java Web không? – VansFannel

+0

No. Đây là một ứng dụng Java (Windows OS). – RealHowTo

+0

Điều này tốt hơn là ví dụ System.getProperty ("user.name"), vì rất dễ lừa JVM để nghĩ rằng có một người dùng khác đăng nhập. – Azder

0

Lưu ý: System.getProperty ("user.name") sẽ chỉ hoạt động nếu người dùng khởi chạy ứng dụng. Nếu chương trình được chạy bởi Hệ thống hoặc một ứng dụng như LANDesk, thì người dùng sẽ xuất hiện dưới dạng "HỆ THỐNG" (trong miền "NT AUTHORITY").

Trong trường hợp đó, giải pháp thứ hai sử dụng NTSystem sẽ trả lại kết quả chính xác.

0

Tôi nhận thấy rằng topicstarter hỏi sau đó trong nhận xét nếu anh/chị ấy có thể sử dụng nó trong một ứng dụng web Java được trả lời bằng "không" mọi lúc. Điều này đúng nếu bạn chạy mã cụ thể ở phía máy chủ, nhưng không nếu bạn chạy nó ở phía máy khách trong hương vị của một applet hoặc jnlp được nhúng trong trang jsp/html được yêu cầu. Tuy nhiên nó phải gửi các thông tin cần thiết đến phía máy chủ sau đó.

Các vấn đề liên quan