2

Plone インスタンス (4.2.2) を実行していて、ユーザー アカウントの作成を自動化する必要があります。外部の Python スクリプトまたは他の Linux ベースのコマンド ライン ユーティリティ (「curl」など) を使用してこれを実行したいと考えています。

curl を使用すると、「@@new_user」ページへのアクセスを認証できますが、ヘッダーで正しい POST セットアップを取得できないようです。

curl を使用せず、代わりに Python スクリプトを使用する場合、これを実行できるユーティリティまたはライブラリはありますか? などのライブラリを使用しProducts.CMFCore.utils.getToolByNameて「portal_registration」を取得しようとしましたが、通常のスクリプト (要求/コンテキストを持たないスクリプト) では機能しないようです。

このスクリプトは、サーバー上で N 分ごとに 1 回実行する必要があります (ユーザー情報は外部データベースから取得されます)。また、パスワードがないことも必要です。ユーザーに電子メールを送信して独自のパスワードを設定するオプションを選択し、このユーザーを事前定義されたグループに追加する必要があります。

これらの要件により適した別のユーティリティまたは組み込みライブラリなど、何か提案はありますか?

4

1 に答える 1

2

ユーザーのバッチ インポート用のスクリプトが多数出回っています。良いものは Tom Lazar の CSV インポートhttp://plone.org/documentation/kb/batch-adding-usersです。Tom のスクリプトは、コマンド ラインから、たとえば cron ジョブとして実行する必要がある場合、Zope の「実行」スクリプトとして実行するように非常に簡単に変更できます。「実行」スクリプトは、Zope または ZEO クライアント インスタンスを使用して「bin/client5 run my_script.py」などのコマンドで処理されるスクリプトです。

ただし、このような戦略は一方通行です。外部データベース ソースへの接続を提供する Pluggable Authentication System (PAS) プラグインを作成する方がよいように、Martijn との会話から聞こえてきます。この戦略の素晴らしい点は、どのユーザー プロパティがどのソース (外部 DB または Plone メンバーシップ プロパティ マネージャー) を持っているかを非常に正確に判断できることです。ドキュメント (MJ が示すように) はhttp://plone.org/documentation/manual/developer-manual/users-and-security/pluggable-authentication-service/referencemanual-all-pagesにあります。

外部データ ソース用に作成されたプラグインが既に存在するかどうかを確認してください。多くの認証スキームとデータベース (LDAP や SQLAlchemy など) 用のプラグインが既にあります。

于 2013-01-08T15:48:59.347 に答える