ASP.NET 注销控件(LoginStatus 控件)

    除了提供用户登录的方法外,FormsAuthentication 类还提供了 SignOut方法 。SignOut 方法只是销毁表单身份验证票证,从而从网站中注销用户。

    提供注销链接是一个常用功能,因而ASP.NET 有一个专门设计来注销用户的控件。LoginStatus控件 根据用户的身份验证状态来显示“登录” 链接按钮或“注销”链接按钮。“登录”链接按钮呈现给匿名用户,而“注销”链接按钮呈现给已验证用户。可通过LoginStatus 的 LoginText和LogoutText属性来配置“登录”和“注销”链接按钮的文本。

    单击“登录”链接按钮会导致一个回传,进而重定向到登录页面。单击“注销”链接按钮会导致LoginStatus 控件调用FormsAuthentication.SignOff() 方法,然后将用户重定向到某个页面。注销用户被重定向到哪个页面取决于LogoutAction 属性,该属性可以取以下三值之一:

  • Refresh – 默认值;将用户重定向到他们刚访问的页面。如果他们刚访问的页面不允许匿名用户,则FormsAuthenticationModule 会自动将用户重定向到登录页面。
  • Redirect – 用户被重定向到 LoginStatus 的 LogoutPageUrl 属性中指定的 URL 。
  • RedirectToLoginPage – 用户被重定向到登录页面。

    您可能会奇怪此处为何要进行重定向。如果用户想停留在同一页面,为何还需要显式重定向?原因是单击“注销” 链接按钮时,用户的表单身份验证票证仍然在Cookie 集合中。因此,回传请求是一个验证过的请求。LoginStatus 控件会调用SignOut 方法,但可能是在FormsAuthenticationModule 验证了用户之后调用。因此,显式重定向会导致浏览器重新请求页面。但浏览器重新请求页面时,表单身份验证票证已删除,因此该请求是匿名的。

自定义注销控件的代码:

FormsAuthentication.SignOut();//表示销毁表单身份验证票证

Response.Redirect("~/Login.aspx");//表示回到登录页面

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值