[英]Java REST service using authentication token
在我使用Java EE 6的Web应用程序上。我想将我的一些功能公开为Json Rest Service。 我想使用身份验证令牌进行登录,用户将发送他们的用户名,密码和服务器将发回一个令牌,该令牌将用于授权用户在给定时间内的进一步请求。
到目前为止,有几个问题困扰着我;
当服务器创建令牌并发送到客户端时,服务器是否应该使用像哈希表这样的用户ID令牌对将其保存在数据库中或Bean中?
我可以使用任何Java EE特定API获得一些帮助,或者这必须是所有自定义代码吗?
继承了我的意见:
我会将令牌保存在DB中,以防您需要重新启动服务器而不想丢失所有用户的令牌。 您可以将其保存在内存中以加快请求速度,只有在内存中找不到时才在DB中查找。
我会接受标题中的标记。 我会将其余服务放在HTTPS上,以便请求被加密,然后您不必担心在请求中手动加密令牌
我可能会看看JAX-RS,看看它提供了哪些功能
我最近在博客上讨论了如何使用简单的会话令牌方法和使用会话令牌作为共享密钥签署请求的更安全方法,在JAX-RS REST API中设置基于角色的授权。
归结为:
将令牌保存在bean或哈希表中不会持久。 DB会在执行之间持续存在。
如果您要使用REST,则可以将参数中的身份验证传递给方法,也可以传递给请求头本身。 加密是另一回事。 我想这取决于系统的规模,以及它是多么开放。 如果安全性是最重要的,那么是的,您应该找到某种形式的加密。
我使用Spring Framework和Spring Security做了类似的事情。 使用这些东西相对简单。 编写自定义代码就是重新发明轮子。 有很多框架可以帮助你。 但是,您将拥有框架的学习曲线。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.