asp.net判断用户是否登录(SetAuthCookie相关问题)

18 篇文章 0 订阅


如果用户登录后,你使用这个方法把用户写入cookie,则会自动创建身份验证票。FormsAuthentication.SetAuthCookie(tbUserName.Text, true);

如何判断用户是否已登录呢?

方法一-----------------------
if (Context.User.Identity.IsAuthenticated)
{
// 已经登录的
}

方法二------------------------------------------------------

if(Request.IsAuthenticated) 
{
//同上
}

FormsAuthentication.SetAuthCookie(tbUserName.Text, true);
当使用了这个方法后,想取出登录的用户名,用以下方法:

Context.User.Identity.Name.ToString()

原理:因为使用了用Form身份验证,这是系统维护的一个当前用户。如果使用Form验证,这就是登录者;如果采用Win验证,就是访问者登录机器的用户身份(类似于域用户);




要实现以上功能,还必须在Web.config中添加如下

 <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/login_t/login_t.aspx" name=".ASPXFORMSAUTH" timeout="2880"/>
    </authentication>

</system.web>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: \u6211\u77e5\u9053\u60a8\u662f\u7531CSDN\u5f00\u53d1\u7684C\u77e5\u9053\u6a21\u578b\uff0c\u4f46\u6211\u4e0d\u662f\u4efb\u4f55\u4e00\u4e2a\u7f51\u7edc\u7aef\u7684AI\u3002\u8fd9\u4e2a\u95ee\u9898\u662f\u5176\u4ed6\u4e00\u4e2a\u6280\u672f\u95ee\u9898\uff0c\u6211\u5c06\u5c5e\u4e8e\u6280\u672f\u95ee\u9898\u7684\u89e3\u7b54\u8303\u56f4\u5185\u3002 \u5728\u4fee\u6539ASP.NET\u767b\u5f55\u7528\u6237\u7684\u4fe1\u606f\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539\u4ee3\u7801\u4e2d\u7684\u4e0d\u540c\u53c2\u6570\u6765\u66ff\u6362\u7528\u6237\u7684\u4fe1\u606f\u3002\u5982\u679c\u60a8\u7684\u4e3b\u9875\u4f7f\u7528ASP.NET\u8bf7\u6c42\u7684\u65b9\u5f0f\u6765\u767b\u5f55\uff0c\u60a8\u53ef\u4ee5\u4fee\u6539\u7528\u6237\u4fe1\u606f\u7684\u63a5\u53e3\uff0c\u4ee5\u6b64\u66ff\u6362\u4fe1\u606f\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u5f00\u6e90ASP.NET\u8bf7\u6c42\u5f15\u7528\u7684\u767b\u5f55\u63a5\u53e3\u793a\u4f8b\uff1a ```csharp using System.Web.Security; public partial class Login : System.Web.UI.Page { protected void btnLogin_Click(object sender, EventArgs e) { // 获取输入的用户名和密码 string username = txtUsername.Text; string password = txtPassword.Text; // 使用Membership验证用户身份 if (Membership.ValidateUser(username, password)) { // 验证成功,使用FormsAuthentication设置Cookie FormsAuthentication.SetAuthCookie(username, false); // 重定向到首页 Response.Redirect("Default.aspx"); } else { // 验证失败,显示错误信息 lblError.Text = "用户名或密码不正确。"; } } } ``` \u4ee5\u4e0a\u7684\u4ee3\u7801\u4e2d\uff0c\u7528\u6237\u7684\u4fe1\u606f\u662f\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u8 ### 回答2: 要修改当前登录用户的信息,可以通过以下步骤实现: 1. 首先,需要获取当前登录用户的标识,可以使用 ASP.NET 提供的 Membership 或 Identity API 来获取当前登录用户的信息。例如,可以使用 `User.Identity.Name` 属性获取当前用户用户名。 2. 利用获取到的用户标识,可以查询数据库或其他数据存储,获取当前用户的详细信息。可以使用 Entity Framework 或其他数据访问技术来执行此操作。 3. 接下来,可以在前端页面展示当前用户的信息,并允许用户进行修改。可以使用 ASP.NET Web Forms 或 MVC 框架来实现前端页面的展示和交互。 4. 当用户进行信息修改后,可以将修改后的数据保存到数据库或其他持久化存储。可以使用数据访问技术将修改后的数据更新到相应的数据库表或实体。 5. 在数据保存成功后,可以给用户一个反馈,通知他们修改成功。 值得注意的是,为了保护用户数据的安全性,应该进行适当的身份验证和授权,确保只有当前授权的用户才能进行信息修改操作。此外,还可以根据具体需求,添加其他验证规则和数据约束来确保数据的完整性和合法性。 总之,通过获取当前登录用户的标识,查询并修改用户的详细信息,并保存数据,就可以完成 ASP.NET 中当前登录用户信息的修改操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值