One hundred eleven: after the end CMS system permissions verification

 

Method to realize

Decorator form, the view on the right judgment applied

What permissions need to declare an interface, user access interface when judging whether the user has authority

 

Analyzing authority, receiving authority

def permission_required(permission):
def outter(func):
@wraps(func)
def inner(*args, **kwargs):
user = g.cms_user
if user.has_permission(permission):
return func(*args, **kwargs)
else:
return redirect(url_for('cms.index'))

return inner

return outter

Declaration of competence required interfaces

@bp.route('/posts/')
@login_required
@permission_required(CMSPersmission.POSTER)
def posts():
return render_template('cms/cms_posts.html')


@bp.route('/comments/')
@login_required
@permission_required(CMSPersmission.COMMENTER)
def comments():
return render_template('cms/cms_comments.html')


@bp.route('/boards/')
@login_required
@permission_required(CMSPersmission.BOARDER)
def boards():
return render_template('cms/cms_boards.html')


@bp.route('/fusers/')
@login_required
@permission_required(CMSPersmission.FRONTUSER)
def fusers():
return render_template('cms/cms_fusers.html')


@bp.route('/cusers/')
@login_required
@permission_required(CMSPersmission.CMSUSER)
def cusers():
return render_template('cms/cms_cusers.html')

 

Guess you like

Origin www.cnblogs.com/zhongyehai/p/11938181.html