Bagikan melalui


Autentikasi dan Otorisasi untuk Koneksi Persisten SignalR (SignalR 1.x)

oleh Patrick Fletcher, Tom FitzMacken

Peringatan

Dokumentasi ini bukan untuk versi terbaru SignalR. Lihatlah ASP.NET Core SignalR.

Topik ini menjelaskan cara memberlakukan otorisasi pada koneksi persisten. Untuk informasi umum tentang mengintegrasikan keamanan ke dalam aplikasi SignalR, lihat Pengantar Keamanan.

Menerapkan otorisasi

Untuk menerapkan aturan otorisasi saat menggunakan PersistentConnection , Anda harus mengambil AuthorizeRequest alih metode . Anda tidak dapat menggunakan Authorize atribut dengan koneksi persisten. Metode AuthorizeRequest ini dipanggil oleh SignalR Framework sebelum setiap permintaan untuk memverifikasi bahwa pengguna berwenang untuk melakukan tindakan yang diminta. Metode AuthorizeRequest ini tidak dipanggil dari klien; sebagai gantinya, Anda mengautentikasi pengguna melalui mekanisme autentikasi standar aplikasi Anda.

Contoh di bawah ini menunjukkan cara membatasi permintaan ke pengguna yang diautentikasi.

public class AuthenticatedConnection : PersistentConnection 
{ 
    protected override bool AuthorizeRequest(IRequest request) 
    { 
        return request.User.Identity.IsAuthenticated; 
    } 
}

Anda dapat menambahkan logika otorisasi yang disesuaikan dalam metode AuthorizeRequest; seperti, memeriksa apakah pengguna termasuk dalam peran tertentu.