扩展表单身份验证以使用自定义http标头作为故障单

Ami*_*ila 6 asp.net forms-authentication webhttp

我有一个wcf webhttp服务,它使用表单身份验证来验证用户.如果票证来自cookie集合或URL,则此方法可以正常工作.

但是现在我想在自定义http标头中发送表单auth标签的字符串,并更改表单auth模块以检查该标头而不是cookie.

我认为将表单auth扩展到实现这一点应该很容易,但是找不到任何有关如何使用的资源.你能为我指出正确的方向吗 ?

这是我的身份验证流程如何工作,

  1. 客户端使用用户名和密码调用authenticate方法
  2. 服务返回加密的票证字符串
  3. 客户端在每个后续请求的http头中发送收到的票证字符串
  4. 服务检查auth标头并验证身份验证票证

6op*_*puc 3

FormAuthentication 模块不可扩展,但您可以编写自己的身份验证。这很简单:

认证(2):


var formsTicket = new FormsAuthenticationTicket(
    1, login, DateTime.Now, DateTime.Now.AddYears(1), persistent, String.Empty);
var encryptedFormsTicket = FormsAuthentication.Encrypt(formsTicket);
//return encryptedFormsTicket string to client
Run Code Online (Sandbox Code Playgroud)

附票的服务电话(4):


var ticket = FormsAuthentication.Decrypt(encryptedFormsTicket)
//extract authentication info from ticket: ticket.Name
Run Code Online (Sandbox Code Playgroud)