zoukankan      html  css  js  c++  java
  • [django]用户认证中只允许登陆用户访问(网页安全问题)

    当设计一个重要网页时,一般要求未从登陆界面访问的用户不能进入其他页面,那么需要如何设置呢?

    如下

    django中的url.py

    urlpatterns = [
        url(r'^$', 'login.views.login_view', name='login_view'),
        url(r'^keywork/$', 'keywork.views.keywork', name='keywork'),
        url(r'^admin/', include(admin.site.urls)),
    ]

    django中的view.py

    from django.contrib.auth.decorators import login_required #django用户认证
    
    @login_required(redirect_field_name='',login_url='/')
    def keywork(request): 

    login_required是一个快捷函数,作用是当前用户未认证的话直接返回到login_url?redirect_field_name页面下,将前面两个参数换成对应的值即"/"页面下

    不使用该快捷函数,简单的方法如下:

    from django.conf import settings
    from django.shortcuts import redirect
    
    def my_view(request):
        if not request.user.is_authenticated():
            return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path))

    上面是最原始的方法跟认证登陆用户名密码一样!

    完毕!

  • 相关阅读:
    安卓adb
    图数据库学习
    分布式架构演进
    多活架构
    异地多活
    分布式CRDT
    技术架构的战略和战术原则
    分布式金融架构课笔记
    使用jackson进行json序列化时进行敏感字段脱敏(加密)或者忽略
    读书笔记《演进式架构》
  • 原文地址:https://www.cnblogs.com/CQ-LQJ/p/5311976.html
Copyright © 2011-2022 走看看