使用验证票(AuthorizationTicket)
using System.Web.Security ;
[WebMethod()]
public string GetAuthorizationTicket(string userName , string password)
{
//这里可以做一些自定义的验证动作,比如在数据库里验证用户的合法性等
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(userName, false, timeOut) ;
string encryptedTicket = FormsAuthentication.Encrypt(ticket) ;
Context.Cache.Insert(encryptedTicket, userName, null, DateTime.Now.AddMinutes(timeout), TimeSpan.Zero) ;
return encryptedTicket ;
}
这种方法没用过,只是看到有人提。在MS的TaskVision中好像就用了这个方法。
using System.Web.Security ;
[WebMethod()]
public string GetAuthorizationTicket(string userName , string password)
{
//这里可以做一些自定义的验证动作,比如在数据库里验证用户的合法性等
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(userName, false, timeOut) ;
string encryptedTicket = FormsAuthentication.Encrypt(ticket) ;
Context.Cache.Insert(encryptedTicket, userName, null, DateTime.Now.AddMinutes(timeout), TimeSpan.Zero) ;
return encryptedTicket ;
}
private bool IsTicketValid(string ticket, bool IsAdminCall)
{
if (ticket == null || Context.Cache[ticket] == null)
{
// not authenticated
return false;
}
else
{
//这里再做一些验证,比如在数据库里验证用户的合法性等
}
}
[WebMethod()]
public Book GetBookByBookId(int bookId)
{
if (IsTicketValid)
{
//验证通过才可以执行特定操作了
}
}
这种方法没用过,只是看到有人提。在MS的TaskVision中好像就用了这个方法。
本文介绍了一种使用AuthorizationTicket进行用户身份验证的方法。该方法通过创建并加密FormsAuthenticationTicket来生成验证票,然后将其存储在缓存中以供后续验证使用。文章还提供了验证票有效性的检查逻辑。
1105

被折叠的 条评论
为什么被折叠?



