Bảo mật ứng dụng Web

Một phần của tài liệu Tìm hiểu về .NET Framework và ASP.NET (Trang 63 - 66)

Một trong những khía cạnh quan trọng trong lập trình Web là khả năng xác định ngời dùng và điều khiển việc truy cập tài nguyên. Hoạt động để xác định yêu cầu này đợc gọi chứng thực quyền (authentication). Nói chung, ngời phải đa ra những điều kiện, nh tên/password để đợc chứng thực qyuền. Mỗi khi đợc chứng nhận, nó xác định nguồn tài nguyên đợc phép truy cập. Quá trình này đợc gọi là đ- ợc phép truy cập (authorization). ASP.NET liên kết với IIS để cung cấp dịch vụ chứng nhận thực quyền và đợc phép truy cập cho ứng dụng. Hai bớc này đợc đặt trong file cấu hình config.web

<configuration>

<system.web>

Tìm hiểu Microsoft ASP.NET </authentication> <authorization> <deny users="?" /> </authorization> <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" /> </system.web> </configuration>

Trong cấu hình trên, chúng ta chỉ định việc kiểm tra chứng thực thông qua cơ chế Form=”.ASPXUSERDEMO” là tên của Cookies dùng để kiểm trạ Loginurl chỉ định tên trang để nhập vào thông tin thông tin về tài khoản. ở đây tất cả các tài nguyên và trang truy nhập không hợp lệ sẽ đợc chuyển hớng về trang login.aspx:

<%@ Import Namespace="System.Web.Security " %>

<html>

<script language="VB" runat=server>

Sub Login_Click(Src As Object, E As EventArgs) If UserEmail.Value = "jdoe@somewherẹcom" And UserPass.Value = "password"

FormsAuthentication.RedirectFromLoginPage(UserEmail.Value, PersistCookiẹChecked)

Else

Msg.Text = "Invalid Credentials: Please try again" End If

End Sub </script> <body>

<form runat=server>

<h3><font face="Verdana">Login Page</font></h3> <table>

<tr>

<td>Email:</td>

<td><input id="UserEmail" type="text" runat=server/></td>

<td><ASP:RequiredFieldValidator

ControlToValidate="UserEmail" Display="Static" ErrorMessage="*" runat=server/></td>

</tr> <tr>

<td>Password:</td>

<td><input id="UserPass" type=password runat=server/></td>

Tìm hiểu Microsoft ASP.NET

<td><ASP:RequiredFieldValidator

ControlToValidate="UserPass" Display="Static" ErrorMessage="*" runat=server/></td>

</tr> <tr>

<td>Persistent Cookie:</td>

<td><ASP:CheckBox id=PersistCookie runat="server" /> </td>

<td></td> </tr>

</table>

<asp:button text="Login" OnClick="Login_Click" runat=server/>

<p>

<asp:Label id="Msg" ForeColor="red" Font-Name="Verdana" Font-Size="10" runat=server />

</form> </body>

</html>

Xây dựng một trang default.aspx

<%@ Import Namespace="System.Web.Security " %>

<html>

<script language="VB" runat=server>

Sub Page_Load(Src As Object, E As EventArgs) WelcomẹText = "Hello, " + User.IdentitỵName End Sub

Sub Signout_Click(Src As Object, E As EventArgs) FormsAuthentication.SignOut()

ResponsẹRedirect("login.aspx") End Sub

</script> <body>

<h3><font face="Verdana">Using Cookie Authentication</font></h3>

<form runat=server>

<h3><asp:label id="Welcome" runat=server/></h3> <asp:button text="Signout" OnClick="Signout_Click" runat=server/>

</form> </body> </html>

Tìm hiểu Microsoft ASP.NET

default.aspx và đợc chuyển đến trang login để nhập tên và mật khẩu đăng nhập. Nếu tài khoản hợp lệ ta sẽ xem đợc nội dung trang default.aspx.

Cấu hình trên chỉ áp dụng cho những tài nguyên ASP.NET ( đã đợc đăng ký với Aspnet_isapịdll). Cấu hình ASP.NET không cung cấp quyền chứng thực cho những tài nguyên không phải Aspnet_isapịdll, vì thế những file TXT, HTML, GIF, JPEG, ASP, và các loại file khác vẫn có thể đợc truy cập cho tất cả ngời dùng có quyền của IIS. Ta có thể sử dụng thẻ <location> </location> để xác định một file hay một th mục cần áp dụng cấu hình nàỵ

Ngoài kiểu bảo mật trên ASP.NET còn cho phép bảo mật theo kiểu Passport, một dịch vụ chứng thực của Microsoft.

Phần III: Xây dựng một ứng dụng với ASP.NET

Một phần của tài liệu Tìm hiểu về .NET Framework và ASP.NET (Trang 63 - 66)

Tải bản đầy đủ (DOC)

(110 trang)
w