提供された資格情報は、このトリックを使用して有効であるかどうかをチェックすることができます(Ploneサイトがwsapi4ploneが正しくインストールされているものとする):
>>> server = xmlrpclib.ServerProxy("http://admin:[email protected]:8080/plone")
>>> server.get_schema('Document')
{'creators': {'required': False, 'type': 'lines'}, 'description': ...
>>> baduser_server = xmlrpclib.ServerProxy("http://bad:[email protected]:8080/plone")
>>> baduser_server.get_schema('Document')
Traceback (most recent call last):
...
ProtocolError: <ProtocolError for bad:[email protected]:8080/plone: 401 Unauthorized>
だから、対応するコードは次のようになりますので、
from xmlrpclib import ServerProxy
from xmlrpclib import ProtocolError
try:
server = ServerProxy("http://admin:[email protected]:8080/plone")
server.get_schema('Document')
return server
except ProtocolError:
return None
ploneのユーザー名とパスワードを確認する特別な方法はありませんか?うーん、今このトリックを試してみるよ – BPm