管理ダッシュボードの「ログイン」機能を実装しています。「stormpath-flask」で「login as」管理機能を実装する方法
基本的には、管理者が特定の顧客としてログインしているかのようにウェブサイトを見たり、使用したりすることができます。たとえば、Trishが私たちを呼び寄せて質問した場合、管理者はTrishとしてログインし、Trishが見ているものを正確に見ることができます。
from app import stormpath_manager
from flask.ext.stormpath import login_user
...
main_cloud_directory = stormpath_manager.client.directories.search({
'name': 'Directory Name'})[0]
accounts = main_cloud_directory.accounts.search({'email': email})
if accounts.size == 1:
account = accounts[0]
login_user(account, remember=False)
return redirect('/settings')
else:
abort(404)
私は、コードを実行すると、私はAttributeError: Account has no attribute 'is_active'
背中を得た:ここ
そして、私たちは、有効なemail
を持っていると仮定すると書いたコードです。このためにコンテキストを設定する
:
私は
login_user
たちは何is_active
が定義されていない持っている受信account
オブジェクトに対しstormpath.resource.Account
を拡張User
オブジェクトを見ることが期待されていることを理解しています。私はstormpath_account = StormpathUser.create(...)
メソッドによって返さlogin_user
User
オブジェクトを送信する場合私はアプリがうまく働くの他の部分のコードを持っています。
また、私は生の
stormpath-python-sdk
でstormpath-flask
を混合していると私は私は本当にstormpath-flask
メソッドを使用してする必要があることを推測することを認識しています。- 私は
Account.email
と、私は
User.from_login
を使用して
User
オブジェクトを作成することができますが、我々は最後にパスワードを保存しないので、これは動作しませんことがわかります。
私はsearch
メソッドによって返さAccount
を取り、User
にそれを回すことができますどのような方法があります思ったんだけど?これを機能させるためにあなたは何をしますか?
おかげで、
アレックス
Aha!それはPythonを最高級に使っています。名誉毀損! –