ASP.NET无法确定用户是否在代码之外登录

时间:2014-09-19 14:59:57

标签: c# asp.net

我在一个单独的类中有一个方法,我的代码在后面调用。这是方法:

public static int InsertCondition(Condition condition)
        {
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                HttpContext.Current.Response.Redirect("~/Accounts/Login.aspx", true);
            }
            try
            {
                var ConditionContext = new ConditionDataContext();
                ConditionContext.Conditions.InsertOnSubmit(condition);
                ConditionContext.SubmitChanges();
                int condition_id = condition.ID;
                return condition_id;
            }
            catch
            {
                return 0;
            }

        }

public static Guid GetCurrentUserGuid()
        {
            return (Guid)Membership.GetUser().ProviderUserKey;
        }

出于某种原因,我没有在未登录的情况下重定向。而是执行了try块,并且我在GetCurrentUserGuid函数中遇到运行时错误,因为GetUser()对象未设置为实例。我理解这是因为我没有登录。这是我试图通过检查用户身份是否经过身份验证来防止的。我只是不明白为什么我没有被重定向。

提前致谢。

0 个答案:

没有答案