如何:通过 WCF 身份验证服务自定义身份验证 Cookie(摘录)
[ 2010-04-19 16:14:35 | 作者: 景裔 ]
引用 说明
通常,与将数据存储在 Cookie 中相比,将用户特定的数据存储在 ASP.NET 配置文件属性中是更好的选择。配置文件属性数据不会绑定到某台计算机或受 Cookie 生存期的限制。此外,可以在配置文件属性中更安全地存储用户数据。如果您有少量非敏感数据,并且不希望使用 ASP.NET 配置文件功能,则自定义 Cookie 的内容将非常有用。
若要使用户从可以发送和使用 SOAP 1.1 消息的客户端应用程序(例如 Java 应用程序)登录,请使用身份验证服务的 WCF 实现。
自定义身份验证 Cookie
1. 在 Web 应用程序的 Global.asax 文件中,为 CreatingCookie 事件创建事件处理程序。
2. 在该处理程序中,向 Cookie 的 CustomCredential 属性添加信息。
下面的示例演示如何通过将 CustomCredential 属性的值添加到 UserData 属性来自定义身份验证 Cookie。
void AuthenticationService_CreatingCookie(object sender,
System.Web.ApplicationServices.CreatingCookieEventArgs e)
{
FormsAuthenticationTicket ticket = new
FormsAuthenticationTicket
(1,
e.UserName,
DateTime.Now,
DateTime.Now.AddMinutes(30),
e.IsPersistent,
e.CustomCredential,
FormsAuthentication.FormsCookiePath);
string encryptedTicket =
FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie
(FormsAuthentication.FormsCookieName,
encryptedTicket);
cookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(cookie);
e.CookieIsSet = true;
} 3. 在 Global.asax 文件的 Application_Start 方法中,绑定 CreatingCookie 事件的事件处理程序。下面的示例演示如何将一个处理程序绑定到 CreatingCookie 事件。
void Application_Start(object sender, EventArgs e)
{
System.Web.ApplicationServices.AuthenticationService.CreatingCookie
+= new EventHandler<System.Web.ApplicationServices.CreatingCookieEventArgs>
(AuthenticationService_CreatingCookie);
} 4. 从可以使用来自 Web 服务的 SOAP 消息的应用程序调用身份验证服务。
永久地址: http://blog.breakN.net/feed.asp?q=comment&id=505
引用地址: http://blog.breakN.net/trackback.asp?id=505
此文还没有评论.








