成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Web請求認證中限制用戶訪問有幾種方式?

開發 前端
在通常情況下,網站都會對用戶限制訪問,例如,未登錄的用戶不可訪問用戶中心界面。

在通常情況下,網站都會對用戶限制訪問,例如,未登錄的用戶不可訪問用戶中心界面。Djagno框架中使用request.user.is_authenticated屬性、裝飾器login_required和LoginRequiredMixin類三種方式限制用戶訪問。接下來,對這三種限制用戶訪問的方式進行介紹。

1.request.user.is_authenticated屬性

request.user.is_authenticated屬性用來判斷用戶是否通過驗證,它是限制未登錄用戶訪問的原始方式,如果用戶未通過驗證則跳轉到登錄頁面。示例代碼如下:

from django.conf import settings
from django.shortcuts import redirect
class UserInfoView(View):
    def get(self, reuqest):
        if not request.user.is_authenticated:
            return redirect('%s?next=%s' % (settings.LOGIN_URL,
                                                             request.path))

2.裝飾器login_required

裝飾器login_required用于在視圖層面限制用戶訪問,它有兩個參數:login_url和redirect_field_name,其中參數login_url表示重定向地址,默認為None;參數redirect_field_name表示重定向字段名稱,默認值為“next”,該值保存了用戶成功驗證時瀏覽器跳轉的重定向地址。

例如,若用戶未登錄,訪問用戶中心頁面(userinfo.html)時使網站跳轉到登錄頁,代碼如下:

@login_required(login_url='/login/',redirect_field_name='my_redirect')
def user_center(request):
    return render(request, 'userinfo.html')

裝飾器中通過login_url參數設置的重定向地址也可以在配置文件中通過LOGIN_URL項設置,示例如下:

LOGIN_URL = '/login/'

需要注意,參數login_url會優先在裝飾器中查找設置的重定向地址,若未找到則使用在配置文件中設置的重定向地址。

3.LoginRequiredMixin類

使用LoginRequiredMixin類同樣可在視圖層面限制用戶訪問,該類的具體用法為:從django.contrib.auth.mixins模塊中引入LoginRequiredMxin,定義繼承LoginRequiredMxin類的類視圖,在其中設置重定向地址login_url,示例代碼如下:

from django.contrib.auth.mixins import loginRequiredMixin
class UserInfoView(LoginRequiredMxin, View):
    login_url = '/login/' # 設置重定向地址
    def get(self, request):
        return render('userinfo.html')

需要注意,LoginRequiredMixin類必須位于類視圖基類列表的最左側。此外,參數login_url與裝飾器login_required中參數login_url使用方式一致。

責任編輯:華軒 來源: 今日頭條
相關推薦

2023-10-26 08:19:34

2010-08-03 16:03:00

FlexBuilder

2017-12-05 14:24:31

應用綁定域名

2021-01-26 05:21:29

無序鏈表HashSet

2011-07-25 17:20:51

組策略本地組策略

2009-04-03 09:00:20

SQL Server2005用戶

2010-12-28 10:36:41

Linux

2009-06-11 13:46:38

用戶訪問權限GlassFish

2012-09-10 10:40:18

IBMdw

2020-09-02 13:22:28

IP訪問Oracle數據庫

2009-09-07 09:20:34

2010-05-11 09:27:14

Sun的保修協議Oracle全球保修協

2017-03-17 11:30:04

LinuxSSH目錄

2020-09-23 07:47:14

Java方式類型

2023-05-08 15:57:16

二叉樹數據結構

2017-10-18 09:30:37

數據中心機房冷卻

2024-04-01 11:30:57

C#拷貝

2013-03-27 11:33:32

iOS開發iOSjson解析方式

2018-07-28 00:20:15

2024-05-27 09:07:27

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看www高清视频 | 国产精品一区二区av | 国产精品国产a级 | 超碰97人人人人人蜜桃 | 毛片免费看 | 免费毛片www com cn | 91性高湖久久久久久久久_久久99 | 亚洲国产aⅴ精品一区二区 免费观看av | 成人小视频在线观看 | 在线日韩中文字幕 | 天堂综合| 欧美精品三区 | 久久不卡| 精品国产青草久久久久福利 | 99在线观看视频 | 在线中文字幕亚洲 | 国产天堂 | 狠狠综合久久av一区二区小说 | 日本人做爰大片免费观看一老师 | 日韩在线视频免费观看 | 久久国产精品精品 | 国产精品一区在线 | 毛片大全 | 一区二区三区四区国产 | 男女羞羞视频大全 | 久久国产欧美日韩精品 | 伊人网站 | 欧美一级片在线观看 | 亚洲欧美综合精品久久成人 | 久久综合香蕉 | 日日日干干干 | 久久久久久国产 | 久久精品欧美一区二区三区不卡 | 国产欧美一级二级三级在线视频 | 国产精品久久久久久久久久免费看 | 高清一区二区视频 | 亚洲乱码一区二区三区在线观看 | 91偷拍精品一区二区三区 | 成人久久网 | 国产成人综合久久 | 国产精品一区二区三区久久久 |