2017-02-08 4 views
0

Я создал приложение Python с использованием Flask-Stormpath и следую документации для создания групп для аутентификации. До добавления 5 строк кода создания группы программа работает отлично. Теперь, когда я скомпилировать следующий код (показывать только первую часть app.py в данном случае):создание группы флагов-штормовых путей

from os import environ 

from flask import Flask, session, request, jsonify, g, abort, url_for, redirect, render_template, g, flash, escape 
from flask_cors import CORS, cross_origin 

from flask_stormpath import StormpathManager, User, login_required, login_user, logout_user, user, groups_required 
from stormpath.error import Error as StormpathError 
from datetime import timedelta 

app = Flask(__name__, static_url_path='/static') 

CORS(app) 

app.config['DEBUG'] = True 
app.config['SECRET_KEY'] = environ.get('SECRET_KEY', 'this_should_be_configured') 
app.config['STORMPATH_API_KEY_ID'] = environ.get('STORMPATH_API_KEY_ID') 
app.config['STORMPATH_API_KEY_SECRET'] = environ.get('STORMPATH_API_KEY_SECRET') 
app.config['STORMPATH_APPLICATION'] = environ.get('STORMPATH_APPLICATION') 
app.config['STORMPATH_APPLICATION_HREF'] = environ.get('STORMPATH_APPLICATION_HREF') 
app.config['STORMPATH_CLIENT_APIKEY_ID'] = environ.get('STORMPATH_CLIENT_APIKEY_ID') 
app.config['STORMPATH_CLIENT_APIKEY_SECRET'] = environ.get('STORMPATH_CLIENT_APIKEY_SECRET') 
app.config['STORMPATH_URL'] = environ.get('STORMPATH_URL') 
app.config['STORMPATH_ENABLE_LOGIN'] = False 
app.config['STORMPATH_ENABLE_REGISTRATION'] = False 
app.config['STORMPATH_ENABLE_LOGOUT'] = False 

app.config['STORMPATH_COOKIE_DURATION'] = timedelta(minutes=60) 

stormpath_manager = StormpathManager(app) 
stormpath_manager.login_view = '.login' 

# Code to add groups to the application 
directory = stormpath_manager.application.default_account_store_mapping.account_store 
guests = directory.groups.create({'name': 'guests'}) 
members = directory.groups.create({'name': 'members'}) 
managers = directory.groups.create({'name': 'managers'}) 
admins = directory.groups.create({'name': 'admins'}) 

теперь я получаю ошибку компиляции из внутри библиотеки Stormpath:

(venv) Marks-MacBook-Pro-2:flask_heroku markschulz$ python app.py Traceback (most recent call last): File "app.py", line 41, in directory = stormpath_manager.application.default_account_store_mapping.account_store File "/Users/markschulz/Projects/maid2match/venv/lib/python2.7/site-packages/flask_stormpath/init.py", line 266, in application ctx = stack.top.app AttributeError: 'NoneType' object has no attribute 'app'

Что делать Мне нужно сделать, чтобы пройти эту ошибку? Строка кода для «каталога» берется непосредственно из документации Stormpath.

ответ

0

EDIT:

Этот ответ не работает в тех случаях, когда вы строите «простое приложение конкретной панели администратора в рамках приложения, так что тип бизнес-администратор может использовать.»

ОРИГИНАЛЬНЫЙ ОТВЕТ:

Вы должны использовать панель администратора Stormpath для достижения этой цели. После входа в свой аккаунт Stormpath:

СОЗДАТЬ ГРУППУ

  1. Нажмите кнопку Groups в навигационной панели.

  2. Нажмите кнопку Create a Group.

  3. Выберите каталог и введите имя и описание.

См. here для более подробных шагов (с изображениями).

ДОБАВИТЬ СЧЕТ НА ГРУППЫ

Нажмите кнопку Groups в навигационной панели.

Нажмите Accounts в меню слева.

Нажмите Add Existing Account и выберите учетную запись, которую необходимо добавить в группу.

См. here для более подробных шагов (с изображениями).

+0

Я согласен, что это способ управления группами с помощью типа ИТ-администратора. С помощью этого кода я хочу создать простую админ-панель приложения как часть приложения, чтобы использовать тип бизнес-администратора. Я бы не хотел, чтобы некоторые из этих типов были свободны в полной панели администратора Stormpath. BTW Я слышал от поддержки Stormpath поддержки API для управления группами, и, конечно же, они заявили очевидное: документация для этого содержится в документации Python, а не в документации Python-Flask. Еще нужно RTFM. – MarkS

+0

Хорошая точка. Приложения флагов, которые я создал, были для типов ИТ-администраторов, поэтому я не рассматривал случаи, связанные с типами бизнес-админов. Когда вы поймете это, обязательно добавьте здесь ответ, мне теперь интересно, как это сделать! –

Смежные вопросы