当前位置: 首页 > 编程语言 > C#

登录后直接从Websecurity获取CurrentUserID(C#- ASP.NET)分享

时间:2023-04-11 00:02:54 C#

C#学习教程:登录后直接从Websecurity获取CurrentUserID(C#/ASP.NET)表格,用户可以注册一个帐户(这是VS11的默认模板),在填写完所有内容并且用户点击注册后,它会创建帐户并登录用户(这很棒)。这一步之后,我想获取他分配的UserID,但是不行。我在那里打了一个断点,看看“currentuserid”和“WebSecurity.CurrentUserId”的值,但它们只有-1值。下一步是将用户重定向到功能起作用的下一页。我以为我能够获得UserID,因为用户已经在我在此处提供的代码的第一行登录。所以我的问题是,为什么它不起作用?我对此很粗鲁,所以我显然遗漏了一些东西。WebSecurity.Login(用户名,密码);intcurrentuserid=WebSecurity.CurrentUserId;//这不起作用,只返回-1Response.Redirect("~/Welcome.cshtml");谢谢!您应该使用WebSecurity.GetUserId(username)WebSecurity.Login(username,password);intcurrentuserid=WebSecurity.GetUserId(用户名);Response.Redirect("~/Welcome.cshtml");看这里:http://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.getuserid(v=vs.99)frommdsn当用户登录时,ASP.NET设置一个身份验证令牌在cookie中,让ASP.NET后续请求知道用户已登录。如果persistCookie为false,则令牌仅在用户关闭浏览器之前有效。因此,WebSecurity.CurrentUserId仅对后续请求有用。您必须找到另一种方法来获取该信息。请恢复WebSecurity连接。在默认控制器中添加如下代码:以上为C#学习教程:登录后直接从Websecurity获取currentUserID(C#/ASP.NET)。,希望大家多多关注—publicclassHomeController:Controller{publicActionResultIndex(){//restoreWebSecurityconnectionif(!WebSecurity.Initialized)WebSecurity.InitializeDatabaseConnection("DefaultConnection","UserProfile","UserId","用户名",autoCreateTables:true);ViewBag.Message="修改此模板以启动您的ASP.NETMVC应用程序。";返回视图();}.......本文收集自网络,不代表立场。侵权请点击右侧联系管理员删除。如需转载请注明出处: