java做RESTful Web Service(API)如何解决验证的问题

时间:2022-03-05 18:18:10
由于restful web service是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?

找到一篇文章:  如何实现RESTful Web API的身份验证
不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?

8 个解决方案

#1


REST 服务的安全,一般依赖于HTTP认证,HTTP认证有几种:basic,digest,token,这些都有标准的实现的开源包

需要主要的是这个认证的帐号跟你业务的帐户实际是不一样的,REST属于webService一种,他的安全是后台服务的安全,因此不需要实际的业务帐号,通常是系统keyStore证书库里的账户

#2


引用 楼主 bigbro001 的回复:
由于restful web service是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?

找到一篇文章:  如何实现RESTful Web API的身份验证
不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?


RESTFul url也可以用session进行验证啊。

加个filter过滤一下需要验证的URL,或者直接在你的rest action里验证。

#3


我用Shiro,很好用,是一个使用简单,功能强大的安全验证框架。

#4


验证可以单独作为一个前置服务做,比如可以借助ldap等。

#5


引用 2 楼 skgary 的回复:
Quote: 引用 楼主 bigbro001 的回复:

由于restful web service是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?

找到一篇文章:  如何实现RESTful Web API的身份验证
不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?


RESTFul url也可以用session进行验证啊。

加个filter过滤一下需要验证的URL,或者直接在你的rest action里验证。


这样岂不是每个请求都要附加用户信息??未免效率太低了吧。。。

#6


引用 3 楼 Inhibitory 的回复:
我用Shiro,很好用,是一个使用简单,功能强大的安全验证框架。


哦?shiro还可以用来验证restful的服务?请问前辈可以给个简单的代码例子吗?拜谢!

#7


RESTFul与服务没有关系?
REST的本质是设计风格,不是技术。

REST的URL还是个URL,就是个普通的URL,访问这个URL的时候,先被Servlet Filter(即Shiro 的Filter) 拦截住,判断你有没有登录,权限等,如果没有就不让访问,如果有就进入Dispatcher进入对应的处理流程。

Shiro可以用在Web,非Web环境。
看Shiro的例子  http://www.iteye.com/blogs/subjects/shiro

#8


引用 5 楼 bigbro001 的回复:
Quote: 引用 2 楼 skgary 的回复:

Quote: 引用 楼主 bigbro001 的回复:

由于restful web service是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?

找到一篇文章:  如何实现RESTful Web API的身份验证
不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?


RESTFul url也可以用session进行验证啊。

加个filter过滤一下需要验证的URL,或者直接在你的rest action里验证。


这样岂不是每个请求都要附加用户信息??未免效率太低了吧。。。


session是附加在cookie上的,对你应用来说是透明的。

你用框架,基本上也是用这个机制实现的

#1


REST 服务的安全,一般依赖于HTTP认证,HTTP认证有几种:basic,digest,token,这些都有标准的实现的开源包

需要主要的是这个认证的帐号跟你业务的帐户实际是不一样的,REST属于webService一种,他的安全是后台服务的安全,因此不需要实际的业务帐号,通常是系统keyStore证书库里的账户

#2


引用 楼主 bigbro001 的回复:
由于restful web service是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?

找到一篇文章:  如何实现RESTful Web API的身份验证
不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?


RESTFul url也可以用session进行验证啊。

加个filter过滤一下需要验证的URL,或者直接在你的rest action里验证。

#3


我用Shiro,很好用,是一个使用简单,功能强大的安全验证框架。

#4


验证可以单独作为一个前置服务做,比如可以借助ldap等。

#5


引用 2 楼 skgary 的回复:
Quote: 引用 楼主 bigbro001 的回复:

由于restful web service是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?

找到一篇文章:  如何实现RESTful Web API的身份验证
不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?


RESTFul url也可以用session进行验证啊。

加个filter过滤一下需要验证的URL,或者直接在你的rest action里验证。


这样岂不是每个请求都要附加用户信息??未免效率太低了吧。。。

#6


引用 3 楼 Inhibitory 的回复:
我用Shiro,很好用,是一个使用简单,功能强大的安全验证框架。


哦?shiro还可以用来验证restful的服务?请问前辈可以给个简单的代码例子吗?拜谢!

#7


RESTFul与服务没有关系?
REST的本质是设计风格,不是技术。

REST的URL还是个URL,就是个普通的URL,访问这个URL的时候,先被Servlet Filter(即Shiro 的Filter) 拦截住,判断你有没有登录,权限等,如果没有就不让访问,如果有就进入Dispatcher进入对应的处理流程。

Shiro可以用在Web,非Web环境。
看Shiro的例子  http://www.iteye.com/blogs/subjects/shiro

#8


引用 5 楼 bigbro001 的回复:
Quote: 引用 2 楼 skgary 的回复:

Quote: 引用 楼主 bigbro001 的回复:

由于restful web service是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?

找到一篇文章:  如何实现RESTful Web API的身份验证
不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?


RESTFul url也可以用session进行验证啊。

加个filter过滤一下需要验证的URL,或者直接在你的rest action里验证。


这样岂不是每个请求都要附加用户信息??未免效率太低了吧。。。


session是附加在cookie上的,对你应用来说是透明的。

你用框架,基本上也是用这个机制实现的