如果用户登录后,你使用这个方法把用户写入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>