问题描述
由于restfulwebservice是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?找到一篇文章:不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?
解决方案
解决方案二:
REST服务的安全,一般依赖于HTTP认证,HTTP认证有几种:basic,digest,token,这些都有标准的实现的开源包需要主要的是这个认证的帐号跟你业务的帐户实际是不一样的,REST属于webService一种,他的安全是后台服务的安全,因此不需要实际的业务帐号,通常是系统keyStore证书库里的账户
解决方案三:
引用楼主bigbro001的回复:
由于restfulwebservice是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?找到一篇文章:不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?
RESTFulurl也可以用session进行验证啊。加个filter过滤一下需要验证的URL,或者直接在你的restaction里验证。
解决方案四:
我用Shiro,很好用,是一个使用简单,功能强大的安全验证框架。
解决方案五:
验证可以单独作为一个前置服务做,比如可以借助ldap等。
解决方案六:
引用2楼skgary的回复:
Quote: 引用楼主bigbro001的回复:
由于restfulwebservice是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?找到一篇文章:不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?RESTFulurl也可以用session进行验证啊。加个filter过滤一下需要验证的URL,或者直接在你的restaction里验证。
这样岂不是每个请求都要附加用户信息??未免效率太低了吧。。。
解决方案七:
引用3楼Inhibitory的回复:
我用Shiro,很好用,是一个使用简单,功能强大的安全验证框架。
哦?shiro还可以用来验证restful的服务?请问前辈可以给个简单的代码例子吗?拜谢!
解决方案八:
RESTFul与服务没有关系?REST的本质是设计风格,不是技术。REST的URL还是个URL,就是个普通的URL,访问这个URL的时候,先被ServletFilter(即Shiro的Filter)拦截住,判断你有没有登录,权限等,如果没有就不让访问,如果有就进入Dispatcher进入对应的处理流程。Shiro可以用在Web,非Web环境。看Shiro的例子
解决方案九:
引用5楼bigbro001的回复:
Quote: 引用2楼skgary的回复:
Quote: 引用楼主bigbro001的回复:
由于restfulwebservice是stateless无状态的,这样如何才能进行使用者的身份验证呢?哪位前辈可以提供一点思路吗?或者说,有现成的框架可以利用的?找到一篇文章:不知道文中的方法,是不是现在业界最常用的办法呢?或者说,是不是业界证明最好最有效的办法?RESTFulurl也可以用session进行验证啊。加个filter过滤一下需要验证的URL,或者直接在你的restaction里验证。
这样岂不是每个请求都要附加用户信息??未免效率太低了吧。。。
session是附加在cookie上的,对你应用来说是透明的。你用框架,基本上也是用这个机制实现的