我有一个JAX-RS API(运行在Wildfly 8服务器上),由一个基于Javascript的web应用程序使用。我们正在不断学习,所以对于这个实现中可能出现的任何愚蠢的事情,我们深表歉意。
我们已经启动并运行了基于PBKDF2的密码存储的基本身份验证,但出于显而易见的原因,我们不希望用户每次单击Web应用程序中的新导航项时都必须进行身份验证。
在开发过程中,我们目前正在做的是在第一次输入凭证时获取凭证,并将其存储在BASE64编码的本地变量中,该变量用于所有后续请求(所有内容都通过HTTPS)。
问题是,对于生产环境来说,这是一种可接受的处理用户凭据的方式,还是一个很大的禁忌?
如果是不,你应该怎么做?毕竟,使用会话有点违背了RESTful web服务的理念,并且有状态的Java会话bean似乎不能很好地与JAX-RS一起工作(根据我所读到的内容)。
问题是,对于生产来说,这是一种可接受的处理用户凭证的方式,还是一种大忌?
如果它通过HTTPS,则不是世界末日,但是在客户端的内存中挂起用户的凭据并不理想。
如果这是一个不-不,你应该怎么做呢?
您是否查看过某种基于令牌的身份验证方案?例如,OAuth2。通常,你会让用户使用其凭据进行身份验证一次,服务器将返回在特定时间段内有效的访问令牌。后续请求将使用访问令牌,而不是客户端的用户名/pw。
毕竟,使用会话有点违背了RESTful Web服务的想法,并且有状态的Java Session Beans似乎不能很好地与JAX-RS配合使用(基于我能够阅读的内容)。
像其他任何事情一样,需要做出权衡。IMO,让有状态性渗透到资源的业务逻辑中是一个问题,但在每个请求中包含令牌之类的东西并不是什么大问题。特别是当它可能将由客户端和服务器端的较低级别的身份验证/授权代码处理时。
我正在开发REST webService,我的一些客户机将使用我的webservices,所以为了识别真正的客户机,我决定给每个真正的客户机一个唯一的应用程序令牌。客户机将对这个令牌进行编码,他们将把这个令牌放在请求头中,我已经在我的REST webservices中配置了一个REST过滤器来验证令牌。我不想使用https。我的问题是,任何人都可以从我的客户端站点获取该令牌,并可以使用我的REST
为了测试,我尝试下面的代码过滤包含用户的url参数,但是它没有在未经授权的情况下中止请求。最重要的是,我需要以这样的方式来实现它,即只有更新和删除需要用各自的用户名和密码来授权。其他我只是不想过滤的东西。我有一个user类,它具有username和password(加密)属性。因此,如果url包含Users/{userID}的PUT或delete方法,我希望它使用特定用户的用户名和密码进行验证。我
问题内容: 我必须 使用 HTTP Basic身份验证从http服务器下载和解析XML文件。现在,我这样做: 但是以这种方式,我无法从具有http身份验证的服务器获取xml(或者我只是根本不知道该文档)文档。 如果您能向我展示实现我的目标的最好,最简单的方法,我将不胜感激。 问题答案: 您可以使用。例如: 这将设置默认值,并将在 所有 请求中使用。显然,当您不需要所有请求的凭据或多个不同的凭据(可
问题内容: 我正在尝试将API查询输入python。命令行 提供一些json输出。myToken是一个十六进制变量,始终保持不变。我想从python进行此调用,以便我可以遍历不同的id并分析输出。有任何想法吗?在需要身份验证之前,我已经使用urllib2进行了此操作。我也查看了请求模块,但无法弄清楚该怎么做。 非常感谢。 问题答案: 该请求包有一个用于HTTP请求的一个非常好的API,加入了自定义
我试着遵循指南,但它根本没有提到任何关于身份验证(也没有XML)的内容。 https://spring.io/guides/gs/consource-rest/#_make_the_application_executable
我们正在使用JAX RS为我们的一个项目实现一个REST API。要求是用户将以JSON格式传入请求对象。 让我们假设我们有一个在命中APIendpoint时调用的方法 示例请求对象: { “firstName”:“Test”, “lastName”:“Name”, “sno”:“A123” } 吸气剂和setter 现在,如果用户尝试向上面给出的请求对象添加其他参数(例如:“age”)并调用ap