您的位置:首页 > 其它

Role-based Security with Forms Authentication

2006-08-15 10:36 281 查看
最近在学习ASP.NET的Forms验证。在学习过程中,同时也学习了很多新的相关知识。这里一并进行总结一下,文章的主题还是有关实现ASP.NET 的Forms验证。

相关知识:

1. HttpContext

由于 HTTP 的无状态特性,Web 应用程序可能需要跟踪许多不同的上下文片段。当用户与 Web 应用程序交互时,浏览器将一系列独立的 HTTP 请求发送到 Web 服务器。应用程序自身必须将这些请求组织成令用户感到愉悦的体验;同时,知道请求的上下文也十分关键。
在ASP.NET中 将这些对象以及其他几个与上下文有关的对象捆绑在一起,形成一个极为方便的内部对象 Context
Context 是 System.Web.HttpContext(英文)类型的对象。它作为 ASP.NET Page 类的属性公开。也可以通过用户控件和业务对象(下文中详细介绍)获得该对象。以下是 HttpContext 形成的对象的部分列表:

Application值的关键字/值对集合,可由应用程序的每个用户访问。Application 是 System.Web.HttpApplicationState 类型。
ApplicationInstance实际运行的应用程序,它公开一些请求处理事件。这些事件在 Global.asax、HttpHandler 或 HttpModule 中处理。
CacheASP.NET Cache 对象,它提供对缓存的编程访问。Rob Howard 的 ASP.NET Caching 专栏(英文)对缓存作了详尽介绍。
Error处理页时遇到的第一个错误(如果有)。有关详细信息,请参阅 Rob 撰写的 Exception to the Rule, Part 1(英文)。
Items关键字/值对集合,可以用来在参与处理同一请求的所有组件之间传递信息。Items 是 System.Collections.IDictionary 类型。
Request有关 HTTP 请求的信息,包括浏览器信息、Cookies 以及在窗体或查询字符串中传递的值。Request 是 System.Web.HttpRequest 类型。
Response用于创建 HTTP 响应的设置和内容。Response 是 System.Web.HttpResponse 类型。
Server服务器是一个实用程序类,带有一些有用的帮助器方法,包括 Server.Execute()Server.MapPath()Server.HtmlEncode()。Server 是 System.Web.HttpServerUtility 类型的对象。
Session值的关键字/值对集合,可由应用程序的单个用户访问。Session 是 System.Web.HttpSessionState 类型。
TraceASP.NET 的 Trace 对象,提供对跟踪功能的访问。有关详细信息,请参阅 Rob 撰写的文章 Tracing(英文)。
User当前用户(如果已经过身份验证)的安全上下文。Context.User.Identity 是用户的名称。User 是 System.Security.Principle.IPrincipal 类型的对象。
正如Context本身翻译为“上下文”所说的,它实际上是一个特定的Http请求的当前环境。只有根据这个环境,程序才可以通过判断来执行正确地代码。这里最常用的就是Application, Session。在Web应用程序中,我们通过Application,Session的值进行页面间的值传递,或者作为一个判断条件,如:

If (Session("sessionName") Is Nothing)

' Do something here.

End If
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐