FormsAuthentication 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.
Mengelola layanan autentikasi formulir untuk aplikasi Web. Kelas ini tidak dapat diwariskan.
public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
- Warisan
-
FormsAuthentication
Contoh
Contoh kode berikut menunjukkan file Web.config untuk aplikasi ASP.NET yang menggunakan penyedia keanggotaan ASP.NET untuk autentikasi formulir dan mengharuskan semua pengguna diautentikasi.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Contoh kode berikut menunjukkan halaman masuk untuk aplikasi ASP.NET yang menggunakan autentikasi formulir dan keanggotaan ASP.NET.
Important
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
Autentikasi formulir memungkinkan validasi pengguna dan kata sandi untuk aplikasi Web yang tidak memerlukan Windows authentication. Dengan autentikasi formulir, informasi pengguna disimpan di sumber data eksternal, seperti Membership database, atau dalam file konfigurasi untuk aplikasi. Setelah pengguna diautentikasi, autentikasi formulir mempertahankan tiket autentikasi dalam cookie atau di URL sehingga pengguna yang diautentikasi tidak perlu memberikan kredensial dengan setiap permintaan.
Autentikasi formulir diaktifkan dengan mengatur mode atribut elemen konfigurasi autentikasi ke Forms. Anda dapat mengharuskan semua permintaan ke aplikasi berisi tiket autentikasi pengguna yang valid dengan menggunakan elemen konfigurasi otorisasi untuk menolak permintaan pengguna yang tidak dikenal, seperti yang ditunjukkan dalam contoh berikut.
<system.web>
<authentication mode="Forms">
<forms loginUrl="login.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
Dalam contoh sebelumnya, permintaan apa pun untuk halaman ASP.NET yang merupakan bagian dari aplikasi memerlukan nama pengguna yang valid yang disediakan oleh autentikasi formulir. Jika tidak ada nama pengguna, maka permintaan dialihkan ke yang dikonfigurasi LoginUrl.
Kelas ini FormsAuthentication menyediakan akses ke metode dan properti yang dapat Anda gunakan dalam aplikasi yang mengautentikasi pengguna. Metode mengalihkan RedirectToLoginPage browser ke yang dikonfigurasi LoginUrl bagi pengguna untuk masuk ke aplikasi. Metode ini RedirectFromLoginPage mengalihkan pengguna terautentikasi kembali ke URL asli yang dilindungi yang diminta atau ke DefaultUrl. Ada juga metode yang memungkinkan Anda mengelola tiket autentikasi formulir, jika diperlukan.
Konstruktor
| Nama | Deskripsi |
|---|---|
| FormsAuthentication() |
Menginisialisasi instans baru dari kelas FormsAuthentication. |
Properti
| Nama | Deskripsi |
|---|---|
| CookieDomain |
Mendapatkan nilai domain cookie autentikasi formulir. |
| CookieMode |
Mendapatkan nilai yang menunjukkan apakah aplikasi dikonfigurasi untuk autentikasi formulir tanpa cookie. |
| CookieSameSite |
Mendapatkan atau menetapkan nilai untuk atribut SameSite cookie. |
| CookiesSupported |
Mendapatkan nilai yang menunjukkan apakah aplikasi dikonfigurasi untuk mendukung autentikasi formulir tanpa cookie. |
| DefaultUrl |
Mendapatkan URL yang akan dialihkan FormsAuthentication kelas jika tidak ada URL pengalihan yang ditentukan. |
| EnableCrossAppRedirects |
Mendapatkan nilai yang menunjukkan apakah pengguna yang diautentikasi dapat diarahkan ke URL di aplikasi Web lainnya. |
| FormsCookieName |
Mendapatkan nama cookie yang digunakan untuk menyimpan tiket autentikasi formulir. |
| FormsCookiePath |
Mendapatkan jalur untuk cookie autentikasi formulir. |
| IsEnabled |
Mendapatkan nilai yang menunjukkan apakah autentikasi formulir diaktifkan. |
| LoginUrl |
Mendapatkan URL untuk halaman masuk yang akan dialihkan FormsAuthentication oleh kelas. |
| RequireSSL |
Mendapatkan nilai yang menunjukkan apakah cookie autentikasi formulir memerlukan SSL untuk dikembalikan ke server. |
| SlidingExpiration |
Mendapatkan nilai yang menunjukkan apakah kedaluwarsa geser diaktifkan. |
| TicketCompatibilityMode |
Mendapatkan nilai yang menunjukkan apakah akan menggunakan Waktu Universal Terkoordinasi (UTC) atau waktu lokal untuk tanggal kedaluwarsa tiket. |
| Timeout |
Mendapatkan jumlah waktu sebelum tiket autentikasi kedaluwarsa. |
Metode
| Nama | Deskripsi |
|---|---|
| Authenticate(String, String) |
Kedaluwarsa.
Memvalidasi nama pengguna dan kata sandi terhadap kredensial yang disimpan dalam file konfigurasi untuk aplikasi. |
| Decrypt(String) |
FormsAuthenticationTicket Membuat objek berdasarkan tiket autentikasi formulir terenkripsi yang diteruskan ke metode . |
| EnableFormsAuthentication(NameValueCollection) |
Mengaktifkan autentikasi formulir. |
| Encrypt(FormsAuthenticationTicket) |
Membuat string yang berisi tiket autentikasi formulir terenkripsi yang cocok untuk digunakan dalam cookie HTTP. |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetAuthCookie(String, Boolean, String) |
Membuat cookie autentikasi untuk nama pengguna tertentu. Ini tidak mengatur cookie sebagai bagian dari respons keluar. |
| GetAuthCookie(String, Boolean) |
Membuat cookie autentikasi untuk nama pengguna tertentu. Ini tidak mengatur cookie sebagai bagian dari respons keluar, sehingga aplikasi dapat memiliki kontrol lebih besar atas bagaimana cookie dikeluarkan. |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetRedirectUrl(String, Boolean) |
Mengembalikan URL pengalihan untuk permintaan asli yang menyebabkan pengalihan ke halaman masuk. |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| HashPasswordForStoringInConfigFile(String, String) |
Kedaluwarsa.
Menghasilkan kata sandi hash yang cocok untuk disimpan dalam file konfigurasi berdasarkan kata sandi dan algoritma hash yang ditentukan. |
| Initialize() |
Menginisialisasi FormsAuthentication objek berdasarkan pengaturan konfigurasi untuk aplikasi. |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| RedirectFromLoginPage(String, Boolean, String) |
Mengalihkan pengguna terautentikasi kembali ke URL yang awalnya diminta atau URL default menggunakan jalur cookie yang ditentukan untuk cookie autentikasi formulir. |
| RedirectFromLoginPage(String, Boolean) |
Mengalihkan pengguna yang diautentikasi kembali ke URL yang awalnya diminta atau URL default. |
| RedirectToLoginPage() |
Mengalihkan browser ke URL masuk. |
| RedirectToLoginPage(String) |
Mengalihkan browser ke URL masuk dengan string kueri yang ditentukan. |
| RenewTicketIfOld(FormsAuthenticationTicket) |
Memperbarui tanggal dan waktu dan waktu kedaluwarsa masalah secara kondisional untuk FormsAuthenticationTicket. |
| SetAuthCookie(String, Boolean, String) |
Membuat tiket autentikasi untuk nama pengguna yang disediakan dan menambahkannya ke kumpulan cookie respons, menggunakan jalur cookie yang disediakan, atau menggunakan URL jika Anda menggunakan autentikasi tanpa cookie. |
| SetAuthCookie(String, Boolean) |
Membuat tiket autentikasi untuk nama pengguna yang disediakan dan menambahkannya ke kumpulan cookie respons, atau ke URL jika Anda menggunakan autentikasi tanpa cookie. |
| SignOut() |
Menghapus tiket autentikasi formulir dari browser. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |