我想确保我的(Java地铁)服务有一个登录。

这里就是我的计划要做到:

步骤所需时调用一个网络服务的方法是:

  1. 呼叫登录(用户,pwd),收到一个会议令牌 1.1记得的令牌
  2. 呼叫servicemethod(令牌,arg1,arg2...)
  3. 服务检查,如果标记所周知,如果不扔掉否则继续异常
  4. 注销或超时之后x的时间段的活动

我的问题:1.你有什么意见这一做法?是否有意义?2.是否有任何库而采取的负担写一届会议处理(也许用数据库的持续生存应用程序将重新启动)

(溶液应该是简单和容易使用的Java和。净客户)

谢谢!

有帮助吗?

解决方案

这是可行的,并且我已经看到了网络服务使用一个类似的方法。但我不会实现我自己定制的解决方案。相反,我会使用的安全标记从WS-安全规范,更精确的用户名令牌(你得到这个从 WSIT 这是部分地铁,因而可互操作的。净客户).看看 这篇文章 对于一个介绍。

更新: 更多的指针:

我不能说我找到WS-安全的非常友好,但是,仍然,我的经验是,使用WS-安全需要的时间少于实施一个定制的解决方案,是更加安全和更好的尺度(检查数据库在每个呼叫具有成本)。

编辑:

修正的第二链接,因为他们都死了。无法找到一个对第三但我认为,第二应当涵盖。

其他提示

不立即跳进实现这个自己从地上爬起来。许多J2EE集装箱/Java框架提供支持的登录访问控制。看一下文件的框架内您当前使用。

另一种简单的替代方法是实施访问控制在一个前端服务器;例如Apache HTTPD作为一种反向代理Tomcat。

我想试试 Apache Shiro, 我真的不能说,如果其任何好处。看起来很好但。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top