使用验证票(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中好像就用了这个方法。