如何保护Java web服务与登录和届会议处理
-
23-09-2019 - |
题
我想确保我的(Java地铁)服务有一个登录。
这里就是我的计划要做到:
步骤所需时调用一个网络服务的方法是:
- 呼叫登录(用户,pwd),收到一个会议令牌 1.1记得的令牌
- 呼叫servicemethod(令牌,arg1,arg2...)
- 服务检查,如果标记所周知,如果不扔掉否则继续异常
- 注销或超时之后x的时间段的活动
我的问题:1.你有什么意见这一做法?是否有意义?2.是否有任何库而采取的负担写一届会议处理(也许用数据库的持续生存应用程序将重新启动)
(溶液应该是简单和容易使用的Java和。净客户)
谢谢!
解决方案
这是可行的,并且我已经看到了网络服务使用一个类似的方法。但我不会实现我自己定制的解决方案。相反,我会使用的安全标记从WS-安全规范,更精确的用户名令牌(你得到这个从 WSIT 这是部分地铁,因而可互操作的。净客户).看看 这篇文章 对于一个介绍。
更新: 更多的指针:
执行WS-安全UsernameToken档于地铁的基于网络的服务- 有什么新在网络服务增强(华尔街)3.0
- 服务的认证与UsernameToken在华尔街3.0
- 落实的直接认证与UsernameToken在华尔街3.0
我不能说我找到WS-安全的非常友好,但是,仍然,我的经验是,使用WS-安全需要的时间少于实施一个定制的解决方案,是更加安全和更好的尺度(检查数据库在每个呼叫具有成本)。
编辑:
修正的第二链接,因为他们都死了。无法找到一个对第三但我认为,第二应当涵盖。
其他提示
不立即跳进实现这个自己从地上爬起来。许多J2EE集装箱/Java框架提供支持的登录访问控制。看一下文件的框架内您当前使用。
另一种简单的替代方法是实施访问控制在一个前端服务器;例如Apache HTTPD作为一种反向代理Tomcat。
我想试试 Apache Shiro, 我真的不能说,如果其任何好处。看起来很好但。
不隶属于 StackOverflow