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.
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
Autentikasi formulir memungkinkan validasi pengguna dan kata sandi untuk aplikasi Web yang tidak memerlukan autentikasi Windows. 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, setiap permintaan 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 mengalihkan RedirectFromLoginPage pengguna yang diautentikasi kembali ke URL asli yang dilindungi yang diminta atau ke DefaultUrl. Ada juga metode yang memungkinkan Anda mengelola tiket autentikasi formulir, jika diperlukan.
Konstruktor
FormsAuthentication() |
Menginisialisasi instans baru kelas FormsAuthentication. |
Properti
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 oleh kelas jika tidak ada URL pengalihan yang ditentukan. |
EnableCrossAppRedirects |
Mendapatkan nilai yang menunjukkan apakah pengguna yang diautentikasi dapat dialihkan 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
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) |
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. |
GetAuthCookie(String, Boolean, String) |
Membuat cookie autentikasi untuk nama pengguna tertentu. Ini tidak mengatur cookie sebagai bagian dari respons keluar. |
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 dari instans Type 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 saat ini Object. (Diperoleh dari Object) |
RedirectFromLoginPage(String, Boolean) |
Mengalihkan pengguna yang diautentikasi kembali ke URL yang awalnya diminta atau URL default. |
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. |
RedirectToLoginPage() |
Mengalihkan browser ke URL masuk. |
RedirectToLoginPage(String) |
Mengalihkan browser ke URL masuk dengan string kueri yang ditentukan. |
RenewTicketIfOld(FormsAuthenticationTicket) |
Secara kondisional memperbarui tanggal dan waktu masalah serta tanggal dan waktu kedaluwarsa untuk FormsAuthenticationTicket. |
SetAuthCookie(String, Boolean) |
Membuat tiket autentikasi untuk nama pengguna yang disediakan dan menambahkannya ke koleksi cookie respons, atau ke URL jika Anda menggunakan autentikasi tanpa cookie. |
SetAuthCookie(String, Boolean, String) |
Membuat tiket autentikasi untuk nama pengguna yang disediakan dan menambahkannya ke koleksi cookie respons, menggunakan jalur cookie yang disediakan, atau menggunakan 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) |