繁体   English   中英

为什么 HttpContext.User.Identity.Name 不规则地为空?

[英]Why is HttpContext.User.Identity.Name irregularly empty?

context.User.Identity.Name 很少为空。 我不认为这是可能的,因为我在使用之前检查用户是否经过身份验证,如果没有,则重定向到登录页面。 这段代码在 99% 的时间里运行良好,但有时我在尝试 GetMemberNumber 时遇到问题,因为传递的值是空的。 有谁知道这里会发生什么?

来自RA.ashx.cs

using System;
using System.Threading.Tasks;
using System.Web;
using System.Web.Configuration;
using System.Web.Security;
using Helpers;

namespace Transfer
{
   public class FromRA : HttpTaskAsyncHandler
   {
       public override async Task ProcessRequestAsync(HttpContext context)
       {
           if (!context.User.Identity.IsAuthenticated)
               FormsAuthentication.RedirectToLoginPage();

           var memberNumber = MembershipUtils.GetMemberNumber(context.User.Identity.Name);

           var remediationServiceProviderResult = await Global.RestrictedAccess
               .GetRemediationServiceProviderResult(memberNumber);

           //...irrelevant code
       }
   }
}

Web.config

<authentication mode="Forms">

重定向后代码执行不会停止。

    public override async Task ProcessRequestAsync(HttpContext context)
           {
               if (!context.User.Identity.IsAuthenticated)
               {
                   FormsAuthentication.RedirectToLoginPage();
                   return;
               }
    
    
               var memberNumber = MembershipUtils.GetMemberNumber(context.User.Identity.Name);
    
               var remediationServiceProviderResult = await Global.RestrictedAccess
                   .GetRemediationServiceProviderResult(memberNumber);
    
               //...irrelevant code
           }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM