asp.net – HttpContext.Current.User.Identity.Name始终是string.Em
发布时间:2020-05-23 12:03:51 所属栏目:asp.Net 来源:互联网
导读:嗨,我使用自定义MembershipProvider。 我想知道应用场景下的当前用户名,但是当我尝试访问HttpContext.Current.User.Identity.Name时,它总是返回string.Empty。 if (Membership.ValidateUser(tbUsername.Text, tbPassword.Text)){ FormsAuthentication.
|
嗨,我使用自定义MembershipProvider。 我想知道应用场景下的当前用户名,但是当我尝试访问HttpContext.Current.User.Identity.Name时,它总是返回string.Empty。 if (Membership.ValidateUser(tbUsername.Text,tbPassword.Text))
{
FormsAuthentication.SetAuthCookie(tbUsername.Text,true);
bool x = User.Identity.IsAuthenticated; //true
string y = User.Identity.Name; //""
FormsAuthentication.RedirectFromLoginPage(tbUsername.Text,cbRememberMe.Checked);
}
我缺少什么? 解决方法FormsAuthentication.SetAuthCookie(tbUsername.Text,true); bool x = User.Identity.IsAuthenticated; //true string y = User.Identity.Name; //"" 您所遇到的问题是,您只需设置身份验证cookie,在发出新请求之前,不会发生在表单身份验证模块中创建的IPrincipal,因此HttpContext.User处于异常状态。一旦重定向发生,那么因为它是一个来自浏览器的新请求,所以在您的页面到达之前,cookie将被读取,并创建正确的用户对象。 Cookie只有在请求完成后才能在浏览器中设置。 除此之外,RedirectFromLoginPage还会创建一个表单验证cookie,您不需要手动进行 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 不明确的引用问题(Microsoft.AspNet.Identity和
- asp.net-mvc – MVC 3多个DisplayFor-Templates
- asp.net – HTTP错误404.4 – 未找到您要查找的资源没有与之
- asp.net-mvc-routing – ASP.NET MVC区域:如何隐藏URL中的
- asp.net – ReportViewer阻止其他功能,直到报告查看器的加载
- 绘制图表到ASP.NET MVC 4(Razor,C#)网站
- asp.net – 什么时候在普通的HTML上使用runat =“server”
- asp.net-mvc – 嵌套属性的模型绑定在asp.net mvc中
- asp.net-mvc – 用于控件名称的参数化前缀的局部视图
- asp.net – 为什么不能在发布模式下构建网站?
推荐文章
站长推荐
- AspNetCore.Authentication.JwtBearer失败,没有S
- 在Kendo-UI图表中刷新方法和重绘方法有什么不同?
- asp.net – 组合两个List(Of String)最有效的方法
- asp.net – Visual Studio 2015 Web应用程序.NET
- .net – 在黄屏死亡的地方有执行吗?
- asp.net-mvc-3 – 当不需要/需要使用AntiForgery
- kendo-ui – Kendo UI网格过滤器无法在引导程序M
- asp.net – 错误:此程序集是由运行时比当前加载
- asp.net – 向其他人提供一个Web API转发请求的最
- asp.net access web.config denied
热点阅读
