我试图将httpcontext.current.user.identity.name的值与我的sql数据库表中存储的值进行比较。它在我的本地机器上工作正常。但httpcontext.current.user.identity.name在托管服务器上的同一网站时返回空。在IIS中“允许匿名访问”已启用,我不想禁用它。网上有很多解决方案,但我无法找到适合我要求的解决方案。
答案 0 :(得分:0)
您是否尝试过设置AuthCookie?
if (Membership.ValidateUser(txtBxusername, txtBxpassword))
{
FormsAuthentication.SetAuthCookie(strUsername, true);
bool isAuth = User.Identity.IsAuthenticated;
FormsAuthentication.RedirectFromLoginPage(userName, chkBxRememberMe.Checked);
}
现在,您应该可以在代码中的其他位置使用以下内容:
string userName = User.Identity.Name;