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
- Visual Studio 2013
- .NET 4.5
- SignalR versi 2
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.