Tag: authentication

JAX WS客户端无法进行身份validation

我正在尝试使用标准JAVA 7 JAX WS工具来使用安全(HTTPS模式)Web服务。 此Web服务需要身份validation。 我已经成功将证书添加到我的本地java密钥库。 我借助wsimport工具从WSDL文件生成所有需要的类。 现在我尝试使用以下调用来运行一个简单的测试: public class ReportingWebServiceTest { static ReportingServiceService service; static ReportingService port; @BeforeClass public static void setUpBeforeClass(){ service = new ReportingServiceService(); port = service.getReportingServicePort(); Map rContext = ((BindingProvider) port).getRequestContext(); Map<String, List> headers = new HashMap<String, List>(); headers.put(“Authorization”, Collections.singletonList(“Basic YWRtaW5AYWRhcHRsb2dpYy5jb206MTIxMjE****=”)); // headers.put(“Username”, Collections.singletonList(“*****@******.com”)); // headers.put(“Password”, Collections.singletonList(“********”)); rContext.put(MessageContext.HTTP_REQUEST_HEADERS, headers); // rContext.put(BindingProvider.USERNAME_PROPERTY, […]

Spring Security 4.0.0 + ActiveDirectoryLdapAuthenticationProvider + BadCredentialsException PartialResultException

我已经在stackoverflow上阅读了几乎所有关于Spring / Security / Ldap和ActiveDirectory的内容。 即使我找到了有用的提示和提示,我也无法解决我的问题。 这是:我确实使用用户服务和自定义登录页面配置了Spring Security,一切正常。 然后,我尝试切换到恰好是ActiveDirectory的最终身份validation提供程序。 这是我的security-applicationContext.xml(我提醒你这个设置在用户服务作为身份validation提供程序时工作正常,因此,文件实际上是导入的,等等): <!– This is the user-service authentication provider that is working fine –> 在bean myADProvider中,即使我将第一个构造函数参数更改为fsapps.company.uni或company.uni或其他任何内容,它也不会将任何内容更改为以下错误。 问题似乎是由于绑定搜索后使用错误的filter查找类似(&(userPrincipalName = {0})(objectClass = user))而不是(&(sAMAccountName = {0})(objectClass)的事实=用户))。 由于我无法弄清楚如何在使用LDAP提供程序的情况下更改此设置,因此我切换到LDAP提供程序,尝试使其无法成功运行,既不会在同一个地方遇到问题。 我还将我的Spring Framework从3.1.2升级到4.1.6.RELEASE和Spring Security从3.1.2升级到4.0.0.RELEASE阅读后出现了ActiveDirectoryLdapAuthenticationProvider的问题,希望在此期间问题得到解决有关此问题的原始讨论与版本3.x有关。 以下是我尝试使用Active Directory进行身份validation的LDAP设置配置: <!– –> <!– <!- – – -> –> 这一次,我将bean配置部分留给AD提供程序以供参考。 这两个都不起作用。 那么,如何将用户和组搜索路径传递给AD提供程序? 或者,如何配置LDAP提供程序以使用AD并完成身份validation? 以下是我在日志中使用LDAP设置收到的消息,上面介绍了AD设置(错误的凭据主要是由于错误的搜索路径): 2015-04-15 16:19:13,252 DEBUG (ossaProviderManager.authenticate) [http-8443-1] […]

如何在spring-security中注销所有登录用户?

我希望能够以编程方式注销所有登录用户。 如何在某些事件上强制注销所有用户?

使用java配置进行n因子身份validation

在使用spring security的spring mvc app中,我想使用自定义AuthenticationProvider来检查除默认username和password之外的n个其他字段。 我正在尝试使用Java配置。 我该如何设置?

JAX-WS,身份validation和授权 – 如何?

在Web服务中进行身份validation和授权的最佳方法是什么? 我正在开发一组Web服务,需要基于角色的访问控制。 使用metro – SOAP,没有EJB的简单java。 我想使用用户名和密码对用户进行一次身份validation,以便与数据库进行匹配。 在随后的电话中。 我想使用某种会话管理。 可以是在登录时检索到客户端的某个会话ID,以便在所有呼叫中显示。 至今: 使用数据库读取身份validation – 但我想要应用程序级别validation; 使用jax-ws读取应用程序身份validation – 但我不想每次都执行身份validation机制; 我想我可以使用SOAP处理程序拦截所有消息,并使用消息附带的一些会话标识符令牌在hander中执行授权控制,该令牌可以与保存在数据库中的标识符匹配,登录Web方法。 编辑: 我还有一些问题: 如何知道被调用的Web方法的名称? 我应该使用什么样的令牌? 如何在通话之间传递此令牌? 编辑2 因为@ ag112回答: 我正在使用Glassfish。 我使用WS-Policy和WS-Security来加密和签名消息。 使用相互证书身份validation。 我想在应用程序之间补充此消息级别的安全性,同时在消息级别对用户进行身份validation和授权。 我只是在开发服务,我几乎不知道客户,只是他们可以用不同的语言创建。 在这一点上,我认为最重要的是做我需要做的事情来validation和validation用户,我是客户端应用程序最简单的实现方式。

使用RESTlet进行细粒度身份validation

我想使用具有细粒度身份validation的RESTlet公开资源。 我的ServerResource应该只能通过GET访问经过身份validation的成员(使用BASIC身份validation)。 但是,对于没有任何身份validation的呼叫者,使用POST请求也应该可用。 为了清除: http:// path / myapp / user应该允许任何人使用POST注册,但只有注册的成员才能获得所有用户的列表。 遗憾的是,我很少进入RESTlet,我只找到使用粗略身份validation整个Restlet或Router的示例。 那么如何为资源启用可选身份validation并在每个方法级别上检查它们? 提前致谢!

泽西岛 – 要求进行身份validation

我在Glassfish上有一个工作的JavaEE 6 Web应用程序,这个应用程序已经有一个JSF前端并且有它的认证机制((使用基于CDI和注释的安全性)所以有一个登录屏幕,用户输入用户名密码,按登录按钮和Java EEvalidation过程开始。 现在我想“也”将我的一些服务类暴露为REST服务(我可能会使用Jersey),因此也可以通过移动设备访问它。 但令我担心的是登录部分。 我将使用完全相同的现有身份validation但现在我希望我的应用程序将从Rest请求获取此凭据,但不从登录屏幕获取。 然后继续使用已存在的现有validation方法(检查来自DB的用户名密码等) 我有点迷路我怎么能这样做,我想我需要使用其中一个filter拦截请求并获取用户名密码但不知道如何以及哪一个? 或者我不需要这样的东西?

Spring Security – 多个身份validation提供程序

我的Web应用程序有多个身份validation管理器(一个用于API访问一个用于WEB访问)。 api应该只有一个基本的auth服务 – 通过spring security markup配置,如下所示: … 我无法内联身份validation提供程序,因为我希望它可以被子bean配置覆盖。 我的问题是我无法在security:authentication-provider元素上定义别名/ id以在authentication-manager中引用它。 有一个简单的解决方法吗? 解: 我终于想出了如何使用命名空间方式来实现它而不进入普通bean配置:)

使用Java连接到MongoDB服务器实例期间的身份validation

有可能做出类似的东西: MongoClient mongo = new MongoClient(ip, port, usrName, password) 在JAVA中类似于MongoVUE或其他基于SQL的数据库的身份validation方法。 在连接到数据库实例期间完成身份validation。 我在MongoClient java doc中没有看到合适的实例方法 身份validation方式(可选)官方文档 不符合我的目标,因为它需要更改我的应用程序中现在不使用身份validation的所有现有查询方法。 使用Java驱动程序对MongoDB进行身份validation的方式看起来正是我所需要的,但mongo 2.10.1发行版中没有com.mongodb.MongoCredential类。

DropWizard Auth领域

在DropWizard中,我可以像这样设置基本身份validation(在Application#run impl中): BasicAuthProvider authProvider = new BasicAuthProvider(authenticator, “SECRET_REALM”); environment.jersey().register(authProvider); 我想知道String realm (“ SECRET_REALM ”)的重要性是什么? 从一般安全概念来看,我理解一个“领域”是一个存储用户和角色/权限的地方(数据库,目录,文件,密钥库等)。 一个领域在DropWizard中意味着什么,以及在BasicAuthProvider中指定它的意义是什么? 它是否在引擎盖下创造了这个领域的东西?