Пример #1
0
def _get_login_manager(app):
    lm = LoginManager()
    lm.anonymous_user = AnonymousUser
    lm.login_view = '%s.login' % cv('BLUEPRINT_NAME', app=app)
    lm.user_loader(_user_loader)
    lm.token_loader(_token_loader)

    if cv('FLASH_MESSAGES', app=app):
        lm.login_message, lm.login_message_category = cv('MSG_LOGIN', app=app)
        lm.needs_refresh_message, lm.needs_refresh_message_category = cv('MSG_REFRESH', app=app)
    else:
        lm.login_message = None
        lm.needs_refresh_message = None

    lm.init_app(app)
    return lm
Пример #2
0
def _get_login_manager(app):
    lm = LoginManager()
    lm.anonymous_user = AnonymousUser
    lm.login_view = '%s.login' % cv('BLUEPRINT_NAME', app=app)
    lm.user_loader(_user_loader)
    lm.token_loader(_token_loader)

    if cv('FLASH_MESSAGES', app=app):
        lm.login_message, lm.login_message_category = cv('MSG_LOGIN', app=app)
        lm.needs_refresh_message, lm.needs_refresh_message_category = cv('MSG_REFRESH', app=app)
    else:
        lm.login_message = None
        lm.needs_refresh_message = None

    lm.init_app(app)
    return lm
Пример #3
0
def _get_login_manager(app):
    lm = LoginManager()
    lm.anonymous_user = AnonymousUser
    lm.login_view = '%s.login' % cv('BLUEPRINT_NAME', app=app)
    lm.user_loader(_user_loader)
    lm.login_message = None
    lm.needs_refresh_message = None
    lm.unauthorized_callback = lambda: abort(401)
    lm.init_app(app)
    return lm
Пример #4
0
def configure_identity(app):
    ''' Configure middleware. '''

    login_manager = LoginManager()
    login_manager.login_view = 'users.login'
    login_manager.login_message = u'Please log in to access this page.'
    login_manager.refresh_view = 'users.reauth'
    login_manager.needs_refresh_message = u'To protect your account, please reauthenticate to access this page.'

    ADMIN_USER = User(app.config['ADMIN_USERNAME']) 
    @login_manager.user_loader
    def load_user(username):
        if username == ADMIN_USER.username:
            return ADMIN_USER
        else:
            return None

    login_manager.setup_app(app)
Пример #5
0
def configure_identity(app):
    ''' Configure middleware. '''

    login_manager = LoginManager()
    login_manager.login_view = 'users.login'
    login_manager.login_message = u'Please log in to access this page.'
    login_manager.refresh_view = 'users.reauth'
    login_manager.needs_refresh_message = u'To protect your account, please reauthenticate to access this page.'

    ADMIN_USER = User(app.config['ADMIN_USERNAME'])

    @login_manager.user_loader
    def load_user(username):
        if username == ADMIN_USER.username:
            return ADMIN_USER
        else:
            return None

    login_manager.setup_app(app)
Пример #6
0
from flask.ext.login import LoginManager, login_user
import logging
from logging import Formatter, FileHandler



#----------------------------------------------------------------------------#
# App Config.
#----------------------------------------------------------------------------#

app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.needs_refresh_message = (
    u"You have to log in again to protect your account, sorry!")

from models import *
from forms import *
from views import *

# Automatically tear down SQLAlchemy.
@app.teardown_request
def shutdown_session(exception=None):
    db_session.remove()

# Get users for flask-login
@login_manager.user_loader
def load_user(userid):
    return User.query.get(int(userid))
Пример #7
0
                   active BOOLEAN NOT NULL DEFAULT true,
                   admin BOOLEAN NOT NULL DEFAULT false,
                   properties HSTORE NOT NULL DEFAULT ''::hstore,
                   inserted TIMESTAMP NOT NULL DEFAULT now()'''),
)

DB_URL = None
db.connect(DB_URL)
db.init_db(TABLES)

# Flask-Login
login_manager = LoginManager()
login_manager.setup_app(app)
login_manager.login_view = "login"
login_manager.refresh_view = "refresh"
login_manager.needs_refresh_message = u"Please re-authenticate to access this page"

@login_manager.user_loader
def load_user(userid):
    user = db.select_one('users',{'id':int(userid)})
    return User(user) if user else None 

def text(msg,code=200):
    return (msg,code,{'Content-type':'text/plain'})

@app.route('/')
def index():
    return render_template("index.html",message="Hello",user=current_user)

@app.route('/msg/<to>/<subject>/<content>')
def msg(to,subject,content):
Пример #8
0
except KeyError:
    # The environment variable was not set.
    # Assume we're in production (Use ProductionConfig class).
    app.config.from_object('config.ProductionConfig')

# Create the login manager.
login_manager = LoginManager()
# Initialize login_manager.
login_manager.init_app(app)

# Define the route for logging in.
login_manager.login_view = "login.login"
# Define the route for refreshing login.
login_manager.refresh_view = "login.login"
# Message flashed when logging in.
login_manager.needs_refresh_message = (
    u"To protect your account, please re authenticate to access this page.")

# Make a database object. (Using the URI in the configuration.)
db = SQLAlchemy(app)

# Import the error handlers.
import traininglog.error

# Import the blueprints.
from traininglog.login.views import login_blueprint
from traininglog.home.views import home_blueprint
from traininglog.dashboard.views import dashboard_blueprint
from traininglog.exercise.views import exercise_blueprint
from traininglog.weight.views import weight_blueprint
from traininglog.admin.views import admin_blueprint
Пример #9
0
from config import adminusers

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']= config.DB_URI
app.config['SECRET_KEY']=config.SECRET_KEY
app.config['CSRF_ENABLED']=config.CSRF_ENABLED
app.config['OPENID_PROVIDERS']=config.OPENID_PROVIDERS
db = SQLAlchemy(app)

#Creamos el Login Manager
lm = LoginManager()
lm.setup_app(app)
lm.refresh_view = 'login'
app.config['REMEMBER_COOKIE_DURATION']=timedelta(minutes=2)
lm.needs_refresh_message = (
    u"Para proteger el acceso por favor inicia sesion de nuevo"
    )
lm.session_protection = "strong"

#Creamos el Openid
oid = OpenID(app, os.path.join(basedir, 'tmp'))


#Definimos el decorador que devuelve el usuario en caso de que exista
@lm.user_loader
def load_user(id):
    return model.adminUser.query.get(int(id))
@lm.needs_refresh_handler
def refresh():
    # do stuff
    return redirect(url_for('login'))
Пример #10
0
                   admin BOOLEAN NOT NULL DEFAULT false,
                   properties HSTORE NOT NULL DEFAULT ''::hstore,
                   inserted TIMESTAMP NOT NULL DEFAULT now()""",
    ),
)

DB_URL = None
db.connect(DB_URL)
db.init_db(TABLES)

# Flask-Login
login_manager = LoginManager()
login_manager.setup_app(app)
login_manager.login_view = "login"
login_manager.refresh_view = "refresh"
login_manager.needs_refresh_message = u"Please re-authenticate to access this page"


@login_manager.user_loader
def load_user(userid):
    user = db.select_one("users", {"id": int(userid)})
    return User(user) if user else None


def text(msg, code=200):
    return (msg, code, {"Content-type": "text/plain"})


@app.route("/")
def index():
    return render_template("index.html", message="Hello", user=current_user)
Пример #11
0
from flask.ext.login import LoginManager
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.sendmail import Mail
from Main import app

lm = LoginManager()
lm.init_app(app)
lm.login_view = 'index'
lm.login_message_category = 'error'
lm.refresh_view = 'index'
lm.needs_refresh_message = 'You have been logged out due to inactivity.'
lm.needs_refresh_message_category = 'error'

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///WodTag.sqlite'

app.config.update(dict(
    MAIL_FAIL_SILENTLY=False,
    MAIL_SUPPRESS_SEND=False,
    TESTING=False
))

db = SQLAlchemy(app)
mail = Mail(app)
Пример #12
0
csrf = CsrfProtect()
csrf.init_app(app)


db = SQLAlchemy(app)
login_manager = LoginManager()
login_manager.init_app(app)

login_manager.refresh_view = "/reauthenticate"

login_manager.login_view = '/login'
login_manager.login_message = 'PLease log in to access the page.'

login_manager.refresh_view = '/changepass'
login_manager.needs_refresh_message = "Confirm your account"


class User(UserMixin, db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String, unique=True)
    address = db.Column(db.String)
    password_hash = db.Column(db.String)

    def gen_password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)
Пример #13
0
from flask.ext.pagedown import PageDown
from celery import Celery
# from flask.ext.wtf.csrf import CsrfProtect

bootstrap = Bootstrap()
mail = Mail()
moment = Moment()
db = SQLAlchemy()
# csfrprotect = CsrfProtect()

login_manager = LoginManager()
login_manager.session_protection = 'strong'
login_manager.login_view = 'auth.login'
login_manager.login_message = '请先登录'
login_manager.login_message_category = 'warning'
login_manager.needs_refresh_message = '请重新登陆'
login_manager.needs_refresh_message_category = 'warning'

pagedown = PageDown()


def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
Пример #14
0
(processProblems, ''),
)
# the first parameter is the module's name
# the second parameter is the url_prefix of the module

# register blueprint modules
for module, url_prefix in MODULES :
	app.register_blueprint(module, url_prefix = url_prefix)



# a non-fresh user access some fresh_login_required
# pages (it means the user can not login by cookies)
lm.login_view = 'loginpages.login'
lm.login_message = app.config['LOGIN_MESSAGE']
lm.refresh_view = 'loginpages.login'
lm.needs_refresh_message = app.config['REFRESH_MESSAGE']
lm.session_protection = "strong"

@lm.user_loader
def load_user(id) :
	return User.query.get(int(id))


# set default language
# 'str' or 'unicode' or 
# 'optimized unicode' or 'custom functon'
reload(sys)
sys.setdefaultencoding('utf-8')
text_factory = str
Пример #15
0
from flask.ext.login import LoginManager

from breezeminder.app import app
from breezeminder.models.user import User


login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'auth.login'
login_manager.session_protection = 'strong'
login_manager.refresh_view = 'auth.login'
login_manager.needs_refresh_message = 'For your security, you have been logged out due to inactivity. Please log in again.'


@app.login_manager.user_loader
def load_user(id):
    try:
        return User.objects.get(id=id)
    except:
        return None
Пример #16
0
import logging
from datetime import timedelta



app = Flask(__name__)            # init app
app.config.from_object('config') # read config.py
app.permanent_session_lifetime = timedelta(seconds=app.config['SESSION_LIFE_TIME'])

login_manager = LoginManager()                #init login-manager
login_manager.init_app(app)                   # set app
login_manager.login_view = 'login'            # set login view
login_manager.session_protection = "strong"   # set level protection
login_manager.refresh_view = "accounts.reauthenticate"
login_manager.needs_refresh_message = (
    u"To protect your account, please reauthenticate to access this page."
)
login_manager.needs_refresh_message_category = "info"


db  = MongoEngine(app)           # init mongoengine
#dtb = DebugToolbarExtension(app) # init debug object

# Enable logging with file
if app.config['LOG']:
   logging.basicConfig(format = u'%(levelname)-8s [%(asctime)s] %(message)s', level = logging.DEBUG, filename = app.config['LOG']) #u'sitelog.log'
   logging.info( u'Start server' ) # add log event

# register blueprint objects
def register_blueprints(app):
    from views import posts
Пример #17
0
from flask.ext.login import LoginManager
from flask.ext.babelex import gettext

from .. import create_blueprint
from .access import Permission

bp = create_blueprint(__name__)

login_manager = LoginManager()
login_manager.session_protection = 'strong'
login_manager.login_view = bp.name + '.login'
login_manager.localize_callback = gettext
login_manager.login_message = bp.name + '.please_login'
login_manager.login_message_category = 'info'
login_manager.needs_refresh_message = bp.name + '.please_relogin'
login_manager.needs_refresh_message_category = 'info'


@bp.app_context_processor
def _inject_from_auth_bp():
    return dict(
        auth_=Permission
    )