【问题标题】:How to access windows username and domain name (from Active Directory) through Chrome 2021如何通过 Chrome 2021 访问 Windows 用户名和域名(来自 Active Directory)
【发布时间】:2021-05-28 14:19:18
【问题描述】:

我已阅读有关从 chrome 获取 windows 用户名和域名的文章,其中一个 api 是 npapi,现在已弃用。我还看到 javascript 不是一个选项,因为显然如果它被允许,那么它是一个巨大的安全风险。无论如何在 Chrome 中可以做到这一点?

【问题讨论】:

  • @marc_s 也许您对解决方案感兴趣,我补充并回答!

标签: windows google-chrome active-directory


【解决方案1】:

好的,虽然我没有直接的方法可以做到这一点。但我设法通过硒网络驱动程序找到了一种方法。所以我只需创建一个 Web 驱动程序并通过 java 将值写入 chrome 的本地存储:

    WebDriverManager.getInstance(ChromeDriver.class).setup();
    WebDriver driver = new ChromeDriver();
    driver.get("http://yourapp_url");
    LocalStorage local = ((WebStorage) driver).getLocalStorage();
    local.setItem("win_domain", System.getenv().get("USERDOMAIN"));
    local.setItem("win_username", System.getenv().get("USERNAME"));

然后 pom 去:

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>WindowsChromeLauncher</artifactId>
<version>1.0</version>
<packaging>jar</packaging>

<properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
</properties>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>4.0.0-alpha-7</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-devtools-v86</artifactId>
        <version>4.0.0-alpha-7</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>4.4.3</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>SeleniumLocalStorage</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

你需要运行这个命令并创建一个可执行的 jar: mvn clean compile assembly:single

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    相关资源
    最近更新 更多