问题标签 [authenticator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java Authenticator 基于每个连接?
我正在构建一个与使用基本身份验证的 REST 接口通信的 Eclipse 插件。当身份验证失败时,我想弹出插件的设置对话框并重试。通常我可以使用 staticAuthenticator.setDefault()
为此设置 all 的身份验证器HttpURLConnection
,但是由于我正在编写插件,因此我不想覆盖 Eclipse 的默认值Authenticator
(org.eclipse.ui.internal.net.auth
);
我想Authenticator
在加载之前设置我的自定义并在之后将 Eclipse 的默认设置放回原处,但我想这会导致多线程的各种竞争问题,所以我很快就失去了这个想法。
谷歌搜索产生各种结果,基本上告诉我这是不可能的:
Java URLConnection API 应该有一个 setAuthenticator(Authenticator) 方法,以便在需要身份验证的多线程上下文中更轻松地使用此类。
如果应用程序包含很少的第三方插件,并且每个插件都使用自己的 Authenticator,我们应该怎么做?每次调用“Authenticator.setDefault()”方法都会重写之前定义的 Authenticator...
是否有任何不同的方法可以帮助我克服这个问题?
migration - weblogic 10.3 自定义身份验证器
我们正在将 weblogic 从 8.1 迁移到 10.3。我们有自定义身份验证器提供程序。是否有任何标准方法可以将自定义身份验证器从 8.1 迁移到 10.3?事实上,我在 10.3 中找不到 wlManagement.jar。我确实找到了一个 wlManagement.jar 文件,但它只包含 .java 文件,没有 .class 文件。请指教。
java - 配置 org.apache.http.impl.client.DefaultHttpClient 以使用默认的 Authenticator
我正在尝试通过具有基本身份验证的代理使用 DefaultHttpClient。将客户端设置为使用默认的 ProxySelector 是(有点)直截了当:
但是,这不会将客户端配置为使用默认身份验证器。有没有办法做到这一点,还是我被迫明确设置身份验证?
java - Java:如何从另一个线程启动 UI 对话框,例如 Authenticator
简而言之,我的问题:我的 GUI 应用程序需要执行冗长的网络下载。下载在单独的线程中处理。远程站点可能需要身份验证,所以我想定义一个身份验证器,它会弹出一个“输入您的用户名和密码”对话框。我意识到这个对话框需要从 UI 线程运行。
我敢肯定我不是第一个这样做的人。让后台线程在 UI 线程中启动对话框并阻塞直到该对话框被解除的最佳实践是什么?
ps后台线程非常大,并且不仅仅是从网上下载文件。换句话说,此时将其转换为 SwingWorker 可能不切实际,而且无论如何,我也不确定如何从 SwingWorker 解决这个问题。
java - 可以禁用 Windows 上 Java 的“单点登录”(使用“凭据管理器”中的凭据)吗?
Java SE 6 文档中的Oracle 的“Http Authentication”页面说,“如果您作为域用户在 Windows 机器上运行,或者,您在已经发出kinit
命令并获得凭证缓存的 Linux 或 Solaris 机器上运行” 那么传递给Authenticator.setDefault()
“将被完全忽略”的实例。
这与我观察到的相符:在 Windows 系统上设置 HTTP 或 HTTPS 连接到主机 X 总是从“Windows Vault”的“Windows 凭据”传递主机 X 的凭据,如我的 Windows 7“凭据管理器”中所示控制面板页面。
但是,在我的用例中,我不想使用任何可能由 Windows 存储的凭据,而是我总是想使用我在代码中明确指定的凭据。
有没有办法覆盖记录的行为,即有没有办法忽略 Windows 存储的凭据?
更新:如果没有,有人能指出我在 Java SE 6 源代码中可以看到存储的 Windows 凭据不能被忽略的地方吗?
java - 在需要身份验证但不返回 407 的代理后面打开 http 连接
我们的小程序位于集成了代理身份验证的 Microsoft ISA Server 后面。Isa 代理服务器为没有身份验证凭据的连接返回 http 405( NOT 407java.net.Authenticator
)。我的课程没有被调用。在这种情况下,如何验证与代理服务器的连接?
Applet 使用 java1.6 签名和编译。URLConnection
类用于连接。
java - Android、HttpURLConnection、PUT 和 Authenticator
我之前也已经将 Authenticator 设置为:
我提供了正确的登录详细信息,但服务器以401
代码响应。(不过,类似的 GET 请求有效。)除此之外,getPasswordAuthentication()
在连接和写入流的过程中不会调用该方法。(我知道这一点是因为我输入了Log.v("app", "password here")
.)
这是为什么?
security - Spring Security LDAP Bind Authenticator 仅验证密码的前 8 个字符
我的 Web 应用程序使用 Spring Security 进行身份验证和授权。身份验证通过公司 SSO 进行预身份验证。但是,作为后备,应用程序使用基于表单的登录进行身份验证。这也是使用 Spring Security 通过在部署描述符中配置的身份验证提供程序列表来实现的。考虑一个由以下序列描述的典型场景。
- 如果企业 SSO 预认证失败,则会向用户显示登录页面。
- 输入的凭据被提交,由于 SSOPreAuthentication Provider 找不到主体(假设 SSO 失败),请求被转发到下一个身份验证提供程序,即 LdapAuthenticationProvider。
在这里,我偶然遇到的是使用 BindAuthenticator 的 LdapAuthenticationProvider 将用户名绑定到 LDAP,即使密码部分正确(仅匹配密码的前 8 个字符。其余字符被忽略)。
以下是我的部署描述符中的配置,与讨论相关
以下是两种情况的日志跟踪:
- 密码完全错误时(所有字符错误)
18:34:13,599 DEBUG [FilterChainProxy] /j_spring_security_check 位于附加过滤器链中第 8 位的第 4 位;触发过滤器:'org.springframework.security.ui.webapp.AuthenticationProcessingFilter[order=700; ]' 18:34:13,599 DEBUG [AuthenticationProcessingFilter] 请求是处理身份验证 18:34:13,599 DEBUG [ProviderManager] 使用 org.springframework.security.providers.ldap.LdapAuthenticationProvider 进行身份验证尝试 18:34:13,599 DEBUG [FilterBasedLdapUserSearch] 正在搜索用户'@username@',用户搜索 [searchFilter:'(uid={0})',searchBase:'',范围:子树,searchTimeLimit:0,derefLinkFlag:false] 18:34:13,599 调试 [AbstractContextSource] 主体: '' 18:34:13,943 DEBUG [AbstractContextSource] 在服务器 'ldap://myLDAP.com: 上获得了 Ldap 上下文:983/o=something.com' 18:34:14,130 调试 [DefaultSpringSecurityContextSource] 使用主体创建上下文:'uid=@username@, ou=people, l=AP, o=somthing.com' 18:34:14,458 调试 [ BindAuthenticator] 无法绑定为 uid=@username@, ou=people, l=AP: org.springframework.ldap.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]; 嵌套异常是 javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]
- 当密码正确或部分(仅前 8 个字符匹配)正确时
18:30:11,849 DEBUG [FilterChainProxy] /j_spring_security_check 位于附加过滤器链中第 8 位的第 4 位;触发过滤器:'org.springframework.security.ui.webapp.AuthenticationProcessingFilter[order=700; ]' 18:30:11,849 DEBUG [AuthenticationProcessingFilter] 请求是处理身份验证 18:30:11,849 DEBUG [ProviderManager] 使用 org.springframework.security.providers.ldap.LdapAuthenticationProvider 进行身份验证尝试 18:30:11,849 DEBUG [FilterBasedLdapUserSearch] 正在搜索用户'@username@',使用用户搜索 [searchFilter:'(uid={0})',searchBase:'',范围:子树,searchTimeLimit:0,derefLinkFlag:false] 18:30:11,849 调试 [AbstractContextSource] 主体: '' 18:30:12,193 DEBUG [AbstractContextSource] 在服务器 'ldap://myLDAP.com:
有人可以解释这种神秘的行为吗?
web-services - 调用 SharePoint Web 服务(JAX-WS 客户端)的身份验证失败
我必须从 Java 客户端调用 SharePoint 2010 Lists 服务。
我使用 NetBeans 从 WSDL 生成 JAX-WS 类。
并扩展 java.net.Authenticator 来管理对 SharePoint 的身份验证:
使用 JAX-WS 调用 Web 服务:
我仍然收到错误:
因为它不起作用我试过:
设置没有域的用户
将域设置为系统属性:
System.setProperty("http.auth.ntlm.domain", "XXXXXXXX");
验证“老式方式”:
code>
任何想法认证有什么问题?
谢谢
android - 从客户经理中检索访问令牌
我已经为 Facebook 实现了自己的身份验证器并存储access_token
在 Accounts Manager 中。
我已经尝试了所有 3 种方法来检索auth_token
,但徒劳无功。
在我的方法中,我已经启动了一个线程,并且在该Threads RUN
方法中,我尝试了以下方法:-
&你上面显示的方式......
但是我的代码在以上 3 行都被阻止了。没有异常/错误。
我需要auth-token
在我的应用程序中获取。