擅长:python、mysql、java
<p>您可以通过创建自己的路由器进行授权。为此,子类Router()并重写(至少)authorize()方法:</p>
<pre><code>def authorize(self, session, uri, action):
return True
</code></pre>
<p>这个方法非常简单,如果返回True,则会话被授权执行它正在尝试的任何操作。您可以制定一个规则,所有订阅都必须以'com.example.USER用户名,因此,python代码将拆分uri,获取第三个字段,并将其与当前会话id进行比较,如果匹配则返回True,否则返回false。这就是事情变得有点奇怪的地方。我有一个类似的代码,下面是我的authorize()方法:</p>
^{pr2}$
<p>请注意,我深入到会话中获取_authid,这是一种恶报(我认为),因为我不应该查看这些私有变量。不过,我不知道还能从哪儿弄到。在</p>
<p>另外,值得注意的是,这与身份验证密切相关。在我的实现中,authid是经过身份验证的用户id,它类似于unix用户id(正唯一整数)。我很确定这可以是任何东西,比如一个字符串,所以如果你愿意的话,你应该可以把你的'user'b'作为身份验证id。在</p>
<p>-克</p>