Nhiều khi chúng ta phải làm việc với thông tin nhạy cảm trong ứng dụng từ các máy công cộng. Trong những trường hợp như vậy, chúng ta cần cung cấp cho người dùng một số cách log-out nhằm ngăn người khác truy cập thông tin riêng tư hoặc truy cập tài nguyên ứng dụng thông qua tài khoản của họ.
Trong thẩm định Forms điều này khá đơn giản. Chúng ta có thể gọi phương thức tĩnh SignOut của lớp FormsAuthentication như ở ví dụ 9-4. Khi đó người dùng sẽ được chuyển đến file Logout.aspx để hoàn chỉnh quá trình log- out. Chúng ta cũng có thể tạo một điều khiển người dùng chứa một nút mà
khi kích vào nó sẽ gọi ra phương thức SignOut và thêm điều khiển người dùng cho tất cả các trang được bảo vệ của ứng dụng.
Ví dụ 9-4. Logout.aspx <%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <html> <head> <title>Logout Page</title> <script runat="server">
Sub Page_Load(Sender As Object, e As EventArgs) FormsAuthentication.SignOut( )
Message.Text = "You have been logged out." End Sub
</script> </head> <body>
<asp:label id="Message" runat="server"/> </body>
</html>
Ví dụ 9-5 thể hiện nội dung của file Users.xml.
Ví dụ 9-5. Users.xml <?xml version="1.0" standalone="yes"?> <Users> <User> <Email>andrew@aspnetian.com</Email> <Password>816010E041FA485C6E2383C649343D3A0CAD4D25</Passwo rd> </User> </Users> 9.1.3. Thẩm định Passport
Thẩm định Passport cho phép một người dùng có một mật khẩu duy nhất trong khi có thể đăng nhập (địa chỉ e-mail được gắn với tài khoản Passport của họ) vào nhiều ứng dụng hay website. Điều này giúp đơn giản quá trình
đăng nhập của người dùng và giảm bớt công việc quản trị khi bảo trì tài khoản người dùng.
Để sử dụng được thẩm định Passport trong ASP.NET chúng ta phải download và cài đặt Passport SDK.
Sau khi cài đặt Passport SDK, chúng ta cần cấu hình theo cấu trúc tương ứng. Cuối cùng là cấu hình ứng dụng ASP.NET để sử dụng thẩm định Passport, như đoạn mã bên dưới:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <authentication mode="Passport"> <passport redirectUrl="someLocalpage.aspx"/> </authentication> <!--
Other configuration elements -->
</system.web> </configuration>
Phần tử <passport> và thuộc tính redirectUrl là tuỳ ý và được dùng để mô tả một URL nôi bộ để chuyển hướng nếu người dùng đưa ra yêu cầu đăng nhập không sử dụng tài khoản các Passport của họ. Nếu <passport> được bỏ qua, người dùng đăng nhập không sử dụng tài khoản Passport sẽ được chuyển tới trang đăng nhập trên một server login Passport.