Membership Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memvalidasi kredensial pengguna dan mengelola pengaturan pengguna. Kelas ini tidak dapat diwariskan.
public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
- Warisan
-
Membership
Contoh
Contoh kode berikut menunjukkan halaman masuk untuk aplikasi ASP.NET yang dikonfigurasi untuk menggunakan autentikasi formulir dan keanggotaan ASP.NET. Jika kredensial pengguna yang disediakan tidak valid, pesan akan ditampilkan kepada pengguna. Jika tidak, pengguna dialihkan ke URL yang awalnya diminta menggunakan metode .RedirectFromLoginPage
Catatan
Kontrol login ASP.NET (Login, , LoginViewLoginStatus, LoginName, dan PasswordRecovery) merangkum hampir semua logika yang diperlukan untuk meminta kredensial kepada pengguna dan memvalidasi kredensial dalam sistem keanggotaan dan dapat digunakan sebagai pengganti pemeriksaan terprogram menggunakan Membership kelas .
Penting
Contoh ini berisi kotak teks yang menerima input pengguna, yang merupakan potensi ancaman keamanan. Secara default, ASP.NET halaman Web memvalidasi bahwa input pengguna tidak menyertakan elemen skrip atau HTML. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Login_OnClick(object sender, EventArgs args)
{
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Login_OnClick(sender As Object, args As EventArgs)
If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
Keterangan
Kelas Membership ini digunakan dalam aplikasi ASP.NET untuk memvalidasi kredensial pengguna dan mengelola pengaturan pengguna seperti kata sandi dan alamat email. Kelas Membership dapat digunakan sendiri, atau bersama dengan FormsAuthentication untuk membuat sistem lengkap untuk mengautentikasi pengguna aplikasi web atau situs. Kontrol Login merangkum Membership kelas untuk menyediakan mekanisme yang nyaman untuk memvalidasi pengguna.
Catatan
Jika Anda tidak terbiasa dengan fitur keanggotaan ASP.NET, lihat Pengantar Keanggotaan sebelum melanjutkan. Untuk daftar topik lain yang terkait dengan keanggotaan, lihat Mengelola Pengguna dengan Menggunakan Keanggotaan.
Kelas ini Membership menyediakan fasilitas untuk:
Membuat pengguna baru.
Menyimpan informasi keanggotaan (nama pengguna, kata sandi, alamat email, dan data pendukung) di Microsoft SQL Server atau di penyimpanan data alternatif.
Mengautentikasi pengguna yang mengunjungi situs Anda. Anda dapat mengautentikasi pengguna secara terprogram, atau Anda dapat menggunakan Login kontrol untuk membuat sistem autentikasi lengkap yang memerlukan sedikit atau tanpa kode.
Mengelola kata sandi, yang mencakup membuat, mengubah, mengambil, dan mengatur ulang kata sandi, dan sebagainya. Anda dapat secara opsional mengonfigurasi keanggotaan ASP.NET untuk memerlukan pertanyaan dan jawaban kata sandi untuk mengautentikasi reset kata sandi atau permintaan pengambilan untuk pengguna yang lupa kata sandi mereka.
Meskipun keanggotaan ASP.NET adalah fitur mandiri di ASP.NET Untuk autentikasi, keanggotaan dapat diintegrasikan dengan manajemen peran ASP.NET untuk menyediakan layanan otorisasi untuk situs Anda. Keanggotaan juga dapat diintegrasikan dengan pengguna System.Web.Profile ASP.NET untuk menyediakan penyesuaian khusus aplikasi yang dapat disesuaikan dengan pengguna individual. Untuk detailnya, lihat Memahami Manajemen Peran dan Gambaran Umum Properti Profil ASP.NET.
Kelas bergantung Membership pada penyedia keanggotaan untuk berkomunikasi dengan sumber data. .NET Framework menyertakan SqlMembershipProvider, yang menyimpan informasi pengguna dalam database Microsoft SQL Server, dan ActiveDirectoryMembershipProvider, yang memungkinkan Anda menyimpan informasi pengguna di server Active Directory atau Active Directory Application Mode (ADAM). Anda juga dapat menerapkan penyedia keanggotaan kustom untuk berkomunikasi dengan sumber data alternatif yang dapat digunakan oleh Membership kelas . Penyedia keanggotaan kustom mewarisi MembershipProvider kelas abstrak. Untuk informasi selengkapnya, lihat Menerapkan Penyedia Keanggotaan.
Secara default, keanggotaan ASP.NET diaktifkan untuk semua aplikasi ASP.NET. Penyedia keanggotaan default adalah SqlMembershipProvider dan ditentukan dalam konfigurasi komputer dengan nama AspNetSqlProvider
. Instans default dikonfigurasi SqlMembershipProvider untuk menyambungkan ke instans lokal Microsoft SQL Server.
Anda dapat mengubah pengaturan default untuk menentukan SqlMembershipProvider selain AspNetSqlProvider
instans sebagai penyedia default, atau menentukan instans penyedia kustom sebagai penyedia default untuk aplikasi ASP.NET Anda menggunakan file Web.config. Anda dapat menentukan konfigurasi keanggotaan ASP.NET untuk aplikasi Web Anda menggunakan bagian konfigurasi keanggotaan di file Web.config. Anda dapat menggunakan subbagian penyedia dari bagian keanggotaan untuk menentukan penyedia keanggotaan selain salah satu penyedia default. Misalnya, bagian keanggotaan berikut menghapus penyedia keanggotaan default dari konfigurasi aplikasi saat ini dan menambahkan penyedia baru dengan nama SqlProvider
yang terhubung ke instans SQL Server bernama AspSqlServer
.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Properti
ApplicationName |
Atur atau tetapkan nama aplikasi. |
EnablePasswordReset |
Mendapatkan nilai yang menunjukkan apakah penyedia keanggotaan saat ini dikonfigurasi untuk memungkinkan pengguna mengatur ulang kata sandi mereka. |
EnablePasswordRetrieval |
Mendapatkan nilai yang menunjukkan apakah penyedia keanggotaan saat ini dikonfigurasi untuk memungkinkan pengguna mengambil kata sandi mereka. |
HashAlgorithmType |
Pengidentifikasi algoritma yang digunakan untuk hash kata sandi. |
MaxInvalidPasswordAttempts |
Mendapatkan jumlah upaya kata sandi atau jawaban kata sandi yang tidak valid yang diizinkan sebelum pengguna keanggotaan dikunci. |
MinRequiredNonAlphanumericCharacters |
Mendapatkan jumlah minimum karakter khusus yang harus ada dalam kata sandi yang valid. |
MinRequiredPasswordLength |
Mendapatkan panjang minimum yang diperlukan untuk kata sandi. |
PasswordAttemptWindow |
Mendapatkan jendela waktu di antara upaya gagal berturut-turut untuk memberikan kata sandi atau jawaban kata sandi yang valid dilacak. |
PasswordStrengthRegularExpression |
Mendapatkan ekspresi reguler yang digunakan untuk mengevaluasi kata sandi. |
Provider |
Mendapatkan referensi ke penyedia keanggotaan default untuk aplikasi. |
Providers |
Mendapatkan koleksi penyedia keanggotaan untuk aplikasi ASP.NET. |
RequiresQuestionAndAnswer |
Mendapatkan nilai yang menunjukkan apakah penyedia keanggotaan default mengharuskan pengguna untuk menjawab pertanyaan kata sandi untuk reset dan pengambilan kata sandi. |
UserIsOnlineTimeWindow |
Menentukan jumlah menit setelah stempel tanggal/waktu aktivitas terakhir untuk pengguna di mana pengguna dianggap online. |
Metode
CreateUser(String, String) |
Menambahkan pengguna baru ke penyimpanan data. |
CreateUser(String, String, String) |
Menambahkan pengguna baru dengan alamat email tertentu ke penyimpanan data. |
CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) |
Menambahkan pengguna baru dengan nilai properti tertentu ke penyimpanan data dan mengembalikan parameter status yang menunjukkan bahwa pengguna berhasil dibuat atau alasan pembuatan pengguna gagal. |
CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
Menambahkan pengguna baru dengan nilai properti tertentu dan pengidentifikasi unik ke penyimpanan data dan mengembalikan parameter status yang menunjukkan bahwa pengguna berhasil dibuat atau alasan pembuatan pengguna gagal. |
DeleteUser(String) |
Menghapus pengguna dan data pengguna terkait dari database. |
DeleteUser(String, Boolean) |
Menghapus pengguna dari database. |
FindUsersByEmail(String) |
Mendapatkan kumpulan pengguna keanggotaan di mana alamat email berisi alamat email yang ditentukan untuk dicocokkan. |
FindUsersByEmail(String, Int32, Int32, Int32) |
Mendapatkan kumpulan pengguna keanggotaan, di halaman data, di mana alamat email berisi alamat email yang ditentukan untuk dicocokkan. |
FindUsersByName(String) |
Mendapatkan kumpulan pengguna keanggotaan di mana nama pengguna berisi nama pengguna yang ditentukan untuk dicocokkan. |
FindUsersByName(String, Int32, Int32, Int32) |
Mendapatkan kumpulan pengguna keanggotaan, di halaman data, di mana nama pengguna berisi nama pengguna yang ditentukan untuk dicocokkan. |
GeneratePassword(Int32, Int32) |
Menghasilkan kata sandi acak dengan panjang yang ditentukan. |
GetAllUsers() |
Mendapatkan kumpulan semua pengguna dalam database. |
GetAllUsers(Int32, Int32, Int32) |
Mendapatkan kumpulan semua pengguna dalam database di halaman data. |
GetNumberOfUsersOnline() |
Mendapatkan jumlah pengguna yang saat ini mengakses aplikasi. |
GetUser() |
Mendapatkan informasi dari sumber data dan memperbarui stempel tanggal/waktu aktivitas terakhir untuk pengguna keanggotaan yang masuk saat ini. |
GetUser(Boolean) |
Mendapatkan informasi dari sumber data untuk pengguna keanggotaan yang masuk saat ini. Memperbarui stempel tanggal/waktu aktivitas terakhir untuk pengguna keanggotaan yang masuk saat ini, jika ditentukan. |
GetUser(Object) |
Mendapatkan informasi dari sumber data untuk pengguna keanggotaan yang terkait dengan pengidentifikasi unik yang ditentukan. |
GetUser(Object, Boolean) |
Mendapatkan informasi dari sumber data untuk pengguna keanggotaan yang terkait dengan pengidentifikasi unik yang ditentukan. Memperbarui stempel tanggal/waktu aktivitas terakhir untuk pengguna, jika ditentukan. |
GetUser(String) |
Mendapatkan informasi dari sumber data untuk pengguna keanggotaan yang ditentukan. |
GetUser(String, Boolean) |
Mendapatkan informasi dari sumber data untuk pengguna keanggotaan yang ditentukan. Memperbarui stempel tanggal/waktu aktivitas terakhir untuk pengguna, jika ditentukan. |
GetUserNameByEmail(String) |
Mendapatkan nama pengguna di mana alamat email untuk pengguna cocok dengan alamat email yang ditentukan. |
UpdateUser(MembershipUser) |
Memperbarui database dengan informasi untuk pengguna yang ditentukan. |
ValidateUser(String, String) |
Memverifikasi bahwa nama pengguna dan kata sandi yang disediakan valid. |
Acara
ValidatingPassword |
Terjadi saat pengguna dibuat, kata sandi diubah, atau kata sandi diatur ulang. |