Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检索用户登录id_Java - Fatal编程技术网

Java 如何检索用户登录id

Java 如何检索用户登录id,java,Java,我需要检索登录到服务器的用户的登录ID。我想用Java来做。我如何才能做到这一点?这取决于平台。 你说的是什么类型的服务器 下面是一些返回运行应用程序的用户名称的内容。 我在上面找到了这段代码 试试看{ 字符串loginAppName=“GetLoginNameUnix”; //如果应用程序在NT而不是Unix上运行,请使用此名称 loginAppName=“GetLoginName”; //创建登录上下文 LoginContext lc=新的LoginContext(loginAppName,

我需要检索登录到服务器的用户的登录ID。我想用Java来做。我如何才能做到这一点?

这取决于平台。 你说的是什么类型的服务器

下面是一些返回运行应用程序的用户名称的内容。 我在上面找到了这段代码

试试看{
字符串loginAppName=“GetLoginNameUnix”;
//如果应用程序在NT而不是Unix上运行,请使用此名称
loginAppName=“GetLoginName”;
//创建登录上下文
LoginContext lc=新的LoginContext(loginAppName,
新的com.sun.security.auth.callback.TextCallbackHandler());
//检索有关已登录用户的信息
lc.login();
//获取经过身份验证的主题
Subject-Subject=lc.getSubject();
//获取主题主体
主体主体[]=(主体[])subject.getPrincipals().toArray(新主体[0]);

对于(int i=0;i您可以在以下环境中找到它:

String login = System.getProperty("user.name");

但是安全管理器可能会阻止这种情况(例如,当从小程序调用时)!

如果您转储
系统.properties
,您将发现一个名为
user.name
的属性。这或多或少应该是启动JDK进程的OS用户

这里有一个代码片段可以帮助您

Properties props = System.getProperties();
Enumeration e = props.propertyNames();
while( e.hasMoreElements() ){
    Object key = e.nextElement();
    Object val = props.getProperty( key.toString() );
    System.out.println( "key:"+ key +" val:"+ val );
}

您应该添加您正在使用的服务器类型,以及可能的身份验证类型。
Properties props = System.getProperties();
Enumeration e = props.propertyNames();
while( e.hasMoreElements() ){
    Object key = e.nextElement();
    Object val = props.getProperty( key.toString() );
    System.out.println( "key:"+ key +" val:"+ val );
}