当前位置: 首页 > 知识库问答 >
问题:

如何在WebView-JavaFX中以编程方式使用基本身份验证

端木阳荣
2023-03-14

我正在开发一个JavaFX应用程序,并试图使用WebView访问一个web应用程序。这个web应用程序有基本的身份验证,我想通过编程提交凭据(不想提示用户提供他的凭据,它们存储在JavaFX应用程序中,我知道这种方法的安全含义)。

我在谷歌上找到的唯一链接是:

https://community.oracle.com/message/12518017

还没有答案。

共有2个答案

单于淇
2023-03-14

如果您只需要添加授权标头,那么可以使用webEngine。方法来添加所需的任何标头。

例如,对于基本授权,您可以像这样添加标头:

webEngine.setUserAgent("foo\nAuthorization: Basic YourBase64EncodedCredentials");

我知道这是一个黑客解决方案,但我找不到另一种设置标题的方法。

澹台俊材
2023-03-14

我们实际上正在尝试使用Authenticator的方法,并且它奏效了。

URI baseUri = URI.create("https://my.company.com/");
String username = "";
String password = "";

Authenticator.setDefault(new Authenticator() {

    @Override
    public PasswordAuthentication getPasswordAuthentication() {
        // only return our credentials for our URI
        if (baseUri.getHost().equals(getRequestingHost())) {
            return new PasswordAuthentication(username, password.toCharArray());
        }
        return null;
    }
});
 类似资料:
  • 问题内容: 如何在AngularJs中使用基本身份验证?我已经在Google上搜索了,但是资源对我来说不起作用。我 非常 新AngularJS 问题答案: 假设您的html定义如下: 您可以使用以下基本身份验证将后端连接到rest api: 请注意,此代码的大部分是方法。如果不需要支持IE9及更低版本,则可以将其替换为本地JS实现- atob()和btoa():https : //develope

  • 问题内容: 如何以编程方式向Google进行身份验证?现在不推荐使用ClientLogin(https://developers.google.com/accounts/docs/AuthForInstalledApps),我们如何使用OAuth2对Google执行编程身份验证? 使用ClientLogin,我们可以 使用电子邮件和密码参数在https://www.google.com/accou

  • 我如何以编程方式验证Google?既然ClientLogin(https://developers.Google.com/accounts/docs/authforinstalledApps)已被否决,那么我们如何使用OAuth2对Google执行编程身份验证呢? 使用ClientLogin,我们可以使用电子邮件和密码参数执行到https://www.google.com/accounts/Cli

  • 我们有一个在Apache和nginx上运行的Angular 8应用程序。我们使用带有和的Basic Auth保护此应用程序。 不幸的是,由于对服务器的请求被基本身份验证阻止,应用程序无法加载,Angular无法加载这些文件: 此 路 不通http://root/polyfills-es2015.js因为这是一个跨来源请求,所以不要求提供凭据 已阻止http://root/runtime-es201

  • 我试图编写一个连接应用程序,将从外部来源接收一组数据,并通过其API将其放在microsoft dynamics 365 business central的实例中。文档说明有两种方法可以做到这一点,使用基本身份验证和通过Azure Active Directory登录。前者以编程方式简单明了,但文档非常清楚地表明,它不适用于生产环境。我可以使用邮递员来完成后一种操作,但过程的一部分涉及到我在弹出窗