php - Isu pengesahan log masuk dengan TP5
巴扎黑
巴扎黑 2017-05-25 15:08:19
0
5
1108

Masalah yang harus dianggap agak remeh ialah apabila saya berurusan dengan bahagian hadapan dan belakang, saya perlu menentukan sama ada terdapat sesi untuk menentukan sama ada pengguna telah log masuk.

Tetapi kaedah yang saya lihat melalui dokumentasi ialah saya hanya boleh memperkenalkan satu penghakiman pada setiap halaman, dan kemudian melakukan operasi lain, bagaimanapun, mesti ada cara yang lebih mudah untuk menangani perkara ini saya sendiri.

Perkara utama ialah cara untuk menyediakannya sekali, dan kemudian biarkan semua halaman dalam direktori yang ditentukan menentukan sama ada untuk log masuk, untuk memudahkan operasi seterusnya

巴扎黑
巴扎黑

membalas semua(5)
迷茫

Jenis akses rujukan pertama: tulis semua penghakiman dan pengesahan sesi dalam kelas. Cipta kaedah pra-pengawal atau kawalan permulaan dalam setiap pengawal, dan rujuk terus kaedah pengesahan log masuk kelas sesi dalam kaedah tersebut.
Pewarisan jenis kedua: setiap pengawal mewarisi kelas pengesahan sesi, supaya setiap kali pengawal diakses, ia mewarisi semua kelas dan kaedah sesi, dan menetapkan kawalan permulaan dalam kelas sesi sebagai pengesahan log masuk sesi

Syorkan pilihan kedua secara peribadi, kerana tidak perlu memulakan pengawal dalam setiap pengawal, yang mengurangkan kod dan memudahkan penyelenggaraan

世界只因有你

Tulis kelas asas seperti Base.php dan laksanakan melalui _initializenya, seperti: Base.php,通过其_initialize来实现,如:

<?php
namespace app\admin\controller;

use think\Controller;

class Base extends Controller{
    public function _initialize(){
        $uid = session('uid');
        if($uid == null){
            $this->rediect('Login/index','请先登录后操作');
        }
    }
}

其中Login.php不能继承Base.php

<?php
namespace app\admin\controller;

use think\Controller;

class Login extends Controller{
    public function _initialize(){
        $uid = session('uid');
        if($uid != null){
            $this->rediect('Index/index','已登录');
        }
    }
}
Antaranya, Login.php tidak boleh mewarisi Base.php, jika tidak, pertimbangan khas tambahan diperlukan, seperti: 🎜 rrreee
迷茫

Saya juga orang baru, tetapi saya hanya mempunyai idea Selepas log masuk untuk menyimpan sesi, saya boleh menulis kaedah awam untuk menentukan sesi di bahagian belakang, dan kemudian menggunakan kaedah ini dalam direktori yang diperlukan, supaya ada. tidak perlu menyimpannya dalam setiap direktori Sudah tiba masanya untuk menilai!

只是个人想法,没有实践啊!
Peter_Zhu

Tulis perisian tengah pengesahan (tingkah laku), dan kemudian panggilnya dalam laluan Anda boleh sewenang-wenangnya menentukan halaman mana yang perlu memanggil perisian tengah pengesahan ini.

Anda boleh melihat bahagian tingkah laku dalam manual

给我你的怀抱

Tidak perlu memperkenalkan penghakiman pada setiap halaman Anda boleh mewarisi semua pengawal daripada pengawal biasa dan menulis penghakiman sesi dalam pengawal biasa

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!