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

Một phần của tài liệu Tìm hiểu microsoft ASP NET (Trang 65 - 68)

2.5 .1Giữ lại những hiểu biết về ADỌ

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

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>

<authentication mode="Forms">

<forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" /> </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>

<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/>

<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>

Bây giờ ta đặt cả 3 file trên vào trong một thư mục của một ứng dụng Web. Tất cả người dùng vơ danh đều khơng có quyền truy xuất trong trang tài nguyên 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 ngun 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ẻ

cấu hình nàỵ

Ngồ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 microsoft ASP NET (Trang 65 - 68)

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

(111 trang)