java如何在GlassFish 2上保护Web服务?
我们在GlassFish 2服务器上部署了一些无状态EJB(EJB3),通过@Webmethod注释将它们的一些方法公开为Web服务
现在我们想要保护这些webservice方法,这样只有经过身份验证的客户端才能调用它。实现这一目标的好方法是什么
你可以在下面搜索框中键入要查询的问题!
我们在GlassFish 2服务器上部署了一些无状态EJB(EJB3),通过@Webmethod注释将它们的一些方法公开为Web服务
现在我们想要保护这些webservice方法,这样只有经过身份验证的客户端才能调用它。实现这一目标的好方法是什么
# 1 楼答案
我假设这与ssl无关。所以:
1) 客户端登录时提供用户名和密码
2) 如果用户名和密码正确(存储在DB中),则认为用户已登录,在回复中,web服务生成一个唯一的会话令牌(与用户名和密码有关),并在回复中发回
此令牌与时间戳信息、用户名和密码一起存储
3) 每次客户端发送请求时,令牌都会与其他参数一起发送回。如果令牌有效,则这意味着请求来自经过身份验证的客户端
4) 所有请求都应该具有会话令牌和其他参数
因此,未经身份验证的客户端将没有要发送的令牌
# 2 楼答案
就像那位好牧师说的。下面的示例使用文件域进行身份验证
您还需要sun ejb jar。xml例如
在glassfish的文件域中创建组非常简单(管理控制台)。不过,您可以创建自己的自定义域和登录模块