我正在使用交叉开关0.11.1,并且我想让高速公路组件使用特定的角色。 当我向组件添加“角色”属性时,如下所示:

"components": [
        {
           "type": "class",
           "classname": "hello.hello.AppSession",
           "realm": "realm1",
           "role": "anonymous",
           "transport": {
              "type": "websocket",
              "endpoint": {
                 "type": "tcp",
                 "host": "127.0.0.1",
                 "port": 8080
              },
              "url": "ws://127.0.0.1:8080/ws"
           }
        }
     ]

运行crossbar start时出现此错误

2015-11-03T10:51:02-0600 [Controller  20933] Automatically choosing optimal Twisted reactor
2015-11-03T10:51:02-0600 [Controller  20933] Running on Linux and optimal reactor (epoll) was installed.
2015-11-03T10:51:02-0600 [Controller  20933]      __  __  __  __  __  __      __     __
2015-11-03T10:51:02-0600 [Controller  20933]     /  `|__)/  \/__`/__`|__) /\ |__)  |/  \
2015-11-03T10:51:02-0600 [Controller  20933]     \__,|  \\__/.__/.__/|__)/~~\|  \. |\__/
2015-11-03T10:51:02-0600 [Controller  20933]                                         
2015-11-03T10:51:02-0600 [Controller  20933]     Version: 0.11.1     
2015-11-03T10:51:02-0600 [Controller  20933] 
2015-11-03T10:51:02-0600 [Controller  20933] Starting from node directory /home/jaime/code/pubsub/tmp/.crossbar
2015-11-03T10:51:02-0600 [Controller  20933] Loading node configuration file '/home/jaime/code/pubsub/tmp/.crossbar/config.json'
2015-11-03T10:51:02-0600 [Controller  20933] *** Configuration validation failed ***
2015-11-03T10:51:02-0600 [Controller  20933] invalid component configuration - encountered unknown attribute 'role'

===============>>#1 票数:1 已采纳

您只能以这种方式为“路由器内”组件分配角色(即,在“路由器”类型的工作器中的“组件”列表中)-它们在运行时实际上并没有传输与路由器工作人员使用相同的Python进程。

对于所有其他组件,将通过身份验证为其连接的传输分配角色。 因此,在上述情况下,您将添加一个在ws://127.0.0.1:8080/ws定义的websocket传输上具有“匿名”角色的“匿名”用户。

对于非匿名事物,您可以设置一种身份验证机制(例如WAMP-CRA),然后您的组件将执行以下操作: self.join(u'admin_realm', [u'wampcra'], u'admin')onConnect中,并根据文档使用其秘密计算onChallenge的挑战: http : onChallenge

在路由器方面,WAMP-CRA最简单的方法是使用静态凭据,您只需在config.json文件中添加用户和机密即可。 您可以定义动态WAMP-CRA身份验证

===============>>#2 票数:0

只需尝试一下即可复制错误。 我为此提交了一个错误-https: //github.com/crossbario/crossbar/issues/507 抱歉给你带来不便!

  ask by jaime translate from so

未解决问题?本站智能推荐:

2回复

高速公路websocket

我正在评估和构建一个带有autobahn websocket的简单websocket服务器 有没有人使用子类WrappingWebSocketServerProtocol ,是否有使用此实现的任何示例? 与WebSocketServerProtocol相比有什么好处以及要覆盖/实现的子方
1回复

如何从高速公路python脚本中删除此错误?

我在下面的链接中关注有关高速公路python的教程; https://github.com/tavendo/AutobahnPython/blob/master/examples/twisted/wamp/app/calculator/calculator.py 导致错误的代码如下;
1回复

如何在android高速公路websocket中增加帧有效载荷大小

我正在使用android autobahn websocket在android和python龙卷风套接字服务器之间建立连接。 以下是在android中使用的高速公路Websocket代码。 public void start(){ 所有消息都以public void onTe
4回复

使用tac文件使用twistd运行时的高速公路websocket问题

我有一个使用autobahn WebSocket框架使用twisted实现的WebSocket服务器。 当程序使用python运行时,WebSocket服务器运行正常。 但是,如果我通过创建tac文件作为扭曲服务使用twistd服务器运行程序运行它,我在服务器中得到以下错误,而任何客户端尝试
1回复

如何在使用Autobahn Python和Twisted ReconnectingClientFactory重新连接后重新注册WAMP被调用者?

我有一个使用Twisted的Autobahn Python客户端应用程序,它连接到Crossbar.io服务器。 使用ReconnectingClientFactory丢失网络连接后,客户端应用程序可以成功重新连接。 客户端在连接时注册被叫方名称,以便其他应用程序可以调用它。 这始终适用于
2回复

在WAMP WS中获取所需客户端时引起的开销

我已经使用python编程语言提供的WAMP WS创建了一个websocket服务器。 我有一个要求,我要一次用WAMP WS服务器订阅约500个客户端。 但是,当我发布数据时,我将根据某些条件仅将其发送给单个客户端。 我知道,循环遍历清单列表并找出符合条件的对象,然后将数据发送到
1回复

所有HTTP标头键在Autobahn websocket服务器的ConnectionRequest.headers中均以小写形式出现

为什么高速公路Web套接字服务器将所有http标头密钥更改为小写? 我需要在OAuth2标准的标头中实现身份验证令牌,并使用自定义标头'Authorization:Bearer $ token'。 但是从WebSocketServerProtocol类的onConnect方法中的autoba
1回复

避免重复的高速公路连接

如何确保高速公路仅创建一个连接? 是否有可能无论是对现有的连接检查之前调用connection.open ,或者杀死所有其他连接connection.onopen ?
1回复

高速公路:用户状态(如在线,离线)

由于高速公路与应用服务器是隔离的, 我们如何跟踪用户的在线或离线状态?
1回复

高速公路JavaScript连接-传递动态服务器

我正在使用下面的javascript代码连接到高速公路服务器。 所有这些时候,我一直使用静态IP,但现在IP将是动态的。 如何传递动态服务器IP并动态连接高速公路?