Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menggunakan Beego untuk melaksanakan pengesahan untuk aplikasi web

Menggunakan Beego untuk melaksanakan pengesahan untuk aplikasi web

PHPz
PHPzasal
2023-06-22 20:49:12719semak imbas

Dengan pembangunan Internet yang berterusan, kepentingan aplikasi Web telah menjadi semakin menonjol. Walau bagaimanapun, apabila fungsi aplikasi Web menjadi semakin kompleks, keselamatan data dan perlindungan privasi pengguna telah menjadi bahagian penting dalam pembangunan aplikasi Web. Pengesahan identiti ialah pautan yang sangat penting dalam pembangunan web, yang boleh menghalang pencerobohan haram, kebocoran data dan masalah lain secara berkesan. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Beego untuk melaksanakan pengesahan untuk aplikasi web.

Beego ialah rangka kerja aplikasi web bahasa Go yang pantas, ringkas dan fleksibel Ia menyokong mod MVC, API RESTful, Websocket dan fungsi lain serta mempunyai prestasi dan kemudahan penggunaan yang sangat baik. Melaksanakan pengesahan identiti dalam rangka kerja Beego boleh menyediakan kaedah pengesahan asas, seperti nama pengguna/kata laluan, OAuth, dsb., dan juga boleh dibangunkan secara sekunder mengikut keperluan perniagaan tertentu. Berikut ialah pengenalan terperinci tentang cara menggunakan rangka kerja Beego untuk melaksanakan pengesahan untuk aplikasi web.

1 Cipta projek Beego

Pertama, kita perlu menyediakan persekitaran pembangunan bahasa Go, memasang rangka kerja Beego dan pakej pergantungannya dan mencipta projek Beego baharu dalam persekitaran pembangunan .

beego new projectname

Arahan di atas akan mencipta projek baharu bernama projectname. Masukkan direktori projek melalui arahan cd.

nama projek cd

Kemudian, kami boleh memulakan perkhidmatan projek melalui bee run ialah perisian alat yang disediakan oleh rangka kerja Beego, yang boleh membantu kami menguruskan projek Beego.

bee run

2. Pengawal untuk mencipta halaman pengguna dan log masuk

Dalam rangka kerja Beego, pengawal bertanggungjawab untuk memproses permintaan pengguna, memaparkan halaman dan kerja lain yang berkaitan. Oleh itu, sebelum melaksanakan pengesahan, kita perlu mencipta pengawal untuk pengguna dan halaman log masuk.

Kami mencipta pengawal baharu bernama UserController dalam direktori pengawal.

package controllers

import (
    "github.com/astaxie/beego"
)

type UserController struct {
    beego.Controller
}

func (this *UserController) Login() {
    this.TplName = "login.tpl"
}

Kod di atas melaksanakan kaedah Log Masuk dan digunakan untuk memaparkan halaman log masuk pengguna. Dalam kaedah ini, kami menetapkan TplName kepada login.tpl, yang bermaksud bahawa kami perlu mencipta fail templat bernama login.tpl dalam direktori pandangan untuk mencapai pemaparan halaman.

3. Cipta paparan halaman pengguna dan log masuk

Buat fail templat baharu bernama login.tpl dalam direktori paparan, dan gunakan HTML, CSS dan teknologi lain untuk mereka bentuk halaman log masuk pengguna. Pada masa yang sama, pada halaman ini, kita perlu membuat borang untuk pengguna memasukkan nama akaun dan kata laluan mereka.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Login</title>
    </head>
    <body>
        <h2>Login</h2>
        <form method="post" action="/user/login">
            <div>
                <label for="username">Username:</label>
                <input type="text" id="username" name="username" required>
            </div>
            <div>
                <label for="password">Password:</label>
                <input type="password" id="password" name="password" required>
            </div>
            <div>
                <input type="submit" value="Login">
            </div>
        </form>
    </body>
</html>

Kod di atas melaksanakan antara muka log masuk pengguna yang ringkas dan jelas, menggunakan input elemen borang dan label elemen label dalam HTML. Pemaju boleh mereka bentuk mengikut keperluan mereka sendiri.

4. Laksanakan log masuk dan pengesahan pengguna

Dalam Beego, kami boleh menggunakan mekanisme Sesi untuk melaksanakan pengesahan pengguna. Sesi merujuk kepada jenis data pengguna yang disimpan di bahagian pelayan, yang boleh mengandungi beberapa maklumat peribadi pengguna, seperti nama pengguna, kebenaran, dsb. Apabila menggunakan mekanisme Sesi untuk melaksanakan log masuk pengguna, kami perlu merekodkan maklumat pengguna pada bahagian pelayan dan membandingkan serta mengesahkan apabila pengguna menghantar permintaan.

Dalam contoh ini kami melakukan ini menggunakan pengesahan nama pengguna/kata laluan yang mudah. Tambah penyerahan borang kaedah Log masuk dan pemprosesan kaedah POST dalam pengawal UserController, dan lakukan pengesahan berdasarkan nama pengguna dan kata laluan yang dimasukkan oleh pengguna. Jika pengesahan berjaya, kami menggunakan alat pengurusan Sesi yang disediakan oleh rangka kerja Beego untuk menetapkan nilai pada bahagian pelayan.

func (this *UserController) Login() {
    if this.Ctx.Input.Method() == "POST" {
        username := this.GetString("username")
        password := this.GetString("password")
        
        if username == "beego" && password == "admin" {
            this.SetSession("username", username)
            this.Redirect("/home", 302)
        } else {
            this.Redirect("/user/login", 302)
        }
    } else {
        this.TplName = "login.tpl"
    }
}

Kod di atas melaksanakan pengesahan identiti apabila pengguna log masuk. Jika pengesahan berjaya, kaedah SetSession digunakan pada pelayan untuk menetapkan maklumat Sesi dan melompat ke halaman pada masa yang sama. Jika pengesahan gagal, kembali ke halaman log masuk.

Maklumat sesi disimpan di bahagian pelayan, jadi sebaik sahaja pengguna menutup pelayar atau sesi tamat tempoh, data sesi akan dipadamkan. Dalam rangka kerja Beego, masa tamat lalai Sesi ialah 3600 saat, yang boleh diubah suai dalam fail konfigurasi.

5. Ujian Kod

Selepas melengkapkan langkah di atas, kami boleh menjalankan ujian kod untuk mengesahkan sama ada pengesahan identiti berjaya. Masukkan dalam penyemak imbas:

http://localhost:8080/user/login

URL ini akan membuka antara muka log masuk pengguna, dan pengguna boleh memasukkan nama pengguna dan kata laluan untuk pengesahan. Jika nama pengguna dan kata laluan berjaya dipadankan, pengguna akan melompat ke halaman utama, jika tidak ia akan kembali ke antara muka log masuk.

6. Ringkasan

Artikel ini memperkenalkan cara menggunakan rangka kerja Beego untuk melaksanakan pengesahan untuk aplikasi web. Dengan mencipta pengawal dan pandangan, kami boleh melaksanakan halaman log masuk pengguna dan menggunakan mekanisme Sesi untuk pengesahan di bahagian pelayan. Dalam pembangunan sebenar, pembangun boleh mengembangkan dan mengoptimumkan mengikut keperluan mereka sendiri, melaksanakan penyelesaian pengesahan identiti yang lebih lengkap dan meningkatkan keselamatan aplikasi Web dan keupayaan perlindungan privasi pengguna.

Atas ialah kandungan terperinci Menggunakan Beego untuk melaksanakan pengesahan untuk aplikasi web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn