原文地址:
http://cometd.org/documentation/cometd-java/server/authorization
CometD Java 服务器授权
由 sbordet 提交于星期五,2009/11/20-11:28。
Java 服务器 CometD API:授权
可以用 org.cometd.SecurityPolicy 对象来配置的 Bayeux 对象,这使得能够控制 Bayeux 协议的各项步骤,如握手,订阅,发布等。
默认情况下,Bayeux 对象没有安装SecurityPolicy(安全协议),这意味着任何操作都是被授权的。
Org.cometd.SecurityPolicy有一个默认的实现:
org.cometd.server.AbstractBayeux$DefaultPolicy, 它在自定义SecurityPolicy(安全协议)的情况下非常有用(请参阅例子中的授权是如何工作的)。
Org.cometd.SecurityPolicy的方法有:
booleancanHandshake(Message message);
booleancanCreate(Client client, String channel, Message message);
booleancanSubscribe(Client client, String channel, Message message);
booleancanPublish(Client client, String channel, Message message);
这些方法是 self-speaking 和控制的,分离的,如果是握手,创建频道,频道的预订和发布到频道都要被授权。
在默认实现org.cometd.server.AbstractBayeux.DefaultPolicy 中:
允许任何握手
允许创建的通道,只能从已经握手的客户端且频道不是元数据频道
允许从已经握手的客户端订阅该,但不能是元数据频道或全局频道通配符 / ** 和 / *
允许发布来自从已经握手的客户端到任何通道或来自想要握手客户端到已经握手元数据频道
若要了解如何实现为您的 Bayeux 对象自定义ecurityPolicy(安全协议),请参阅如何在身份验证如何做。
联系客服