Bagikan melalui


Autentikasi dan Otorisasi untuk Koneksi Persisten SignalR

oleh Patrick Fletcher, Tom FitzMacken

Peringatan

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

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

Versi perangkat lunak yang digunakan dalam topik ini

Versi sebelumnya dari topik ini

Untuk informasi tentang versi SignalR yang lebih lama, lihat SignalR Versi Lama.

Pertanyaan dan komentar

Silakan tinggalkan umpan balik tentang bagaimana Anda menyukai tutorial ini dan apa yang dapat kami tingkatkan di komentar di bagian bawah halaman. Jika Anda memiliki pertanyaan yang tidak terkait langsung dengan tutorial, Anda dapat mempostingnya ke forum ASP.NET SignalR atau StackOverflow.com.

Menerapkan otorisasi

Untuk menerapkan aturan otorisasi saat menggunakan PersistentConnection , Anda harus mengambil alih AuthorizeRequest 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.