Tag: authentication

将数据从PHP发送到Java应用程序

我有一个带有登录页面的PHP应用程序。 我想将此用户名和密码发送到我的java应用程序进行身份validation。 有什么想法如何将数据从PHP页面发送到java应用程序? 有没有建议我可以从PHP检索数据发送到java应用程序? 我的想法是可能的,因为PHP在服务器端,而java应用程序在客户端工作。 如何在PHP和Java应用程序之间传递数据? 或者我需要知道JSP才能完成这样的任务? 欢迎所有建议!! 谢谢。

将自定义AuthenticationProcessingFilter与一起使用(auto-config =“true”)

Spring security(2.0.x)http命名空间,表单登录定义自动使用AuthenticationProcessingFilter。 我也知道如果我设置auto-config=”false”我可以通过提供自定义bean定义来自定义身份validation。 我有CustomAuthenticationProcessingFilter扩展AuthenticationProcessingFilter覆盖acquireUsername并使用自定义逻辑来获取用户名而不是传递的用户名。 protected String obtainUsername(HttpServletRequest request) { // custom logic to return username from parameter/cookies/header etc … } 是否可以使用CustomAuthenticationProcessingFilter,同时仍然使用auto-config=”true” 而无需定义customAuthFilter和所有依赖bean? … …

即使在SpringMVC中包含密钥库证书后,也无法对服务器进行身份validation

我正在尝试对jira服务器进行身份validation并从服务器获取问题详细信息,这里我最初手动给出id。 我已经下载了服务器证书并使用keytool导入,密码是“密码”到密钥库。 但我无法在下面validation它是我的代码 我的java代码: @Controller public class Service{ @RequestMapping(“/hello”) public String Data(ModelMap model) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, FileNotFoundException, IOException, KeyManagementException, UnrecoverableKeyException{ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(new FileInputStream(“/users/crohitk/Documents/workspace/frr/publicKey1.store”), “password”.toCharArray()); SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory( new SSLContextBuilder() .loadTrustMaterial(null, new TrustSelfSignedStrategy()) .loadKeyMaterial(keyStore, “password”.toCharArray()).build()); HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory).build(); ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory( httpClient); RestTemplate restTemplate = new RestTemplate(requestFactory); […]

Java Rest调用具有不同的用户证书

我有一组用户证书,我想使用相应的用户证书对用户进行身份validation。 我配置服务器以启用用户身份validation。 它从浏览器工作正常。 如果有多个用户证书,它会提示我选择需要使用的证书。 我的问题是,我怎么能用java做到这一点? 我正在使用RestTemplate与服务器进行通信。 如果是单用户证书,我可以将其添加到java密钥库并使用它。 如何使用特定的用户证书进行特定的rest呼叫?

Spring Security将URL参数传递给Authentication Provider

有没有办法将URL参数传递给Spring Security 3中的身份validation提供程序? 我们的登录页面需要接收电子邮件令牌作为身份validation系统在设置用户状态时需要注意的参数。 具体来说,它将允许具有正确令牌登录的用户无法以其他方式登录。 我有一个扩展DaoAuthenticationProvider类的自定义类。 我的身份validation逻辑在该类的身份validation方法中。 我希望有一些方法可以将这些数据传递给authenticate方法。

如何使用WSS4J拦截器在Web服务方法中获取经过身份validation的用户

我在Spring中托管了Apache CXF服务。 我正在使用WSS4J拦截器来validation用户名/密码安全性以访问服务器。 validation工作正常,如果我从SoapUI发送错误的凭据我不能按预期使用该服务。 如果我发送正确的凭据,服务没有问题。 这是我在spring上下文文件中的配置。 <!—-> 现在我需要能够在我的服务方法中访问我的身份validation用户,如下所示: @WebResult(name = “UpdatePatternResponse”, targetNamespace = “http://test.com/schemas/xsd/myservice/”, partName = “UpdatePatternResponse”) @WebMethod(operationName = “UpdatePattern”, action = “UpdatePattern”) @Generated(value = “org.apache.cxf.tools.wsdlto.WSDLToJava”, date = “2015-02-19T12:49:59.491-05:00”) public test.com.schemas.xsd.myservice.UpdatePatternResponse updatePattern( @WebParam(partName = “UpdatePatternRequest”, name = “UpdatePatternRequest”, targetNamespace = “http://test.com/schemas/xsd/myservice/”) test.com.schemas.xsd.myservice.UpdatePatternRequest updatePatternRequest ) throws SIASFaultMessage{ . . User myAuthenticatedUser = //HOW TO GET THE […]

使用JAAS LdapLoginModule通过ActiveDirectory进行身份validation时遇到FailedLoginException

我正在拉我的头发试图让LDAP身份validation与Active Directory一起使用。 我们刚刚设置了一个SharePoint Server 2010,我们认为根据Active Directory对用户进行身份validation也是一个好主意,因为它已经存在于SharePoint中。 我们的环境是Windows Server 2008 R2 Standard。 我有一个用户名为ahsieh@rdl.com.tw用户 根据这个答案https://serverfault.com/a/130556我的提供者URL应该是ldap://192.168.0.81:389/CN=Users,DC=rdl,DC=com,DC=tw (注意,而不是使用vm-sps.rdl.com.tw的主机名,我选择使用IP地址,因为我没有时间为所述服务器配置DNS条目) 为了确保,我在服务器上运行了dsquery命令: 但是,我只是无法获得身份validation工作。 我根据LdapLoginModule API尝试了所有三种类型的JAAS配置 以下是我遇到的错误: 1.搜索优先模式: 注意:我没有指定authzIdentity,因为我在AD上没有设置 JAAS配置: AESLogin_AD1 { com.sun.security.auth.module.LdapLoginModule REQUIRED userProvider=”ldap://192.168.0.81:389/CN=Users,DC=rdl,DC=com,DC=tw” userFilter=”(&(uid={USERNAME})(objectClass=User))” useSSL=false debug=true; }; 结果: [LdapLoginModule] search-first mode; SSL disabled [LdapLoginModule] user provider: ldap://192.168.0.81:389/CN=Users,DC=rdl,DC=com,DC=tw [LdapLoginModule] searching for entry belonging to user: ahsieh@rdl.com.tw [LdapLoginModule] authentication failed [LdapLoginModule] aborted authentication […]

@RolesAllowed总是在Jersey资源上拒绝(禁止)

我正在尝试根据我通过Jersey / JAX-RS公开的资源的角色设置身份validation。 此资源存在于Glassfish实例中,其中基于角色(特别是通过@RolesAllowed)的身份validation当前正在按需运行。 我在servlet容器中运行Jersey: com.sun.jersey.spi.container.servlet.ServletContainer 并在我的资源上执行基本身份validation; 该要求正在按预期执行。 我还为Jersey提供了以下初始化参数: com.sun.jersey.spi.container.ResourceFilters com.sun.jersey.api.container.filter.RolesAllowedResourceFilterFactory 但是,当我尝试实际添加@RolesAllowed注释时,所有访问都会失败。 例如: @Path(“/my/resource”) @ManagedBean @RolesAllowed({“SYSTEM”}) public class Resource { // Accesses with credentials for a user that has the SYSTEM role fail! } 如果我注入安全上下文并调用context.isUserInRole(),则会为所有角色返回false。 非常奇怪的是,如果我删除此资源的@RolesAllowed注释,并使用有效凭据发出请求,则此类可以成功访问EJB,这需要用户与我最初尝试测试的角色相同。 似乎泽西可能正在使用错误的SecurityContext进行身份validation,或者其他一些。 还有其他人经历过这个吗?

对会话使用sessionRegistry没有会话数限制?

使用 @Autovired SessionRegistry sessionRegistry 在我的代码中,我添加了以下配置: http.sessionManagement() .maximumSessions(1) .sessionRegistry(sessionRegistry()); 但我不想限制最多会话。 我能实现吗?

使用Oracle Wallet身份validation从Spring-jdbc连接到Oracle DB

我使用Spring-jdbc和org.apache.commons.dbcp.BasicDataSource使用用户名和密码进行连接。 我想使用BasicDataSource,因为我只有一个连接。 我有这个代码: 现在我必须使用基于Oracle Wallet的身份validation,在没有Spring的简单应用程序测试中我没有问题,但我无法将此新身份validation与Spring集成。 有谁知道我怎么做?