FormsAuthentication,response

本文介绍如何使用FormsAuthentication.SignOut方法从浏览器删除Forms身份验证票证,以及如何使用RedirectToLoginPage方法将用户重定向到登录页。文章还提供了示例代码,展示了如何在用户选择退出时实现这些操作。

FormsAuthentication.SignOut 方法  

从浏览器删除 Forms 身份验证票证。
如果 CookiesSupported 为 false,SignOut 方法会从 Cookie 或 URL 中移除 Forms 身份验证票证信息。可以结合使用 SignOut 方法和 RedirectToLoginPage 方法来注销一个用户并允许其他用户登录。

如果以独占方式在无 Cookie 模式下运行,或者如果支持混合模式,则在移除匿名标识符后要求执行特殊业务逻辑时,应该显式控制到登录页的重定向。

当调用 SignOut 方法时,通过将 endResponse 参数设置为 false 来调用 Redirect 方法会重定向到应用程序的登录页。当前页在未完成执行之前不会发生重定向,因此其他代码可以运行。如果代码不包含到其他页的显式重定向,则用户将被重定向到在应用程序的配置文件中配置的登录页。

安全注意

调用 SignOut 方法只能移除 Forms 身份验证 Cookie。Web 服务器不会存储有效的和过期的身份验证票证以便今后比较。如果恶意用户获得有效的 Forms 身份验证 Cookie,这将使您的站点易于受到重播攻击。若要提高使用 Forms 身份验证 Cookie 时的安全性,应该进行以下操作:

response: 主要用于服务器端客户端发送数据,其中可以利用 Response.Write 直接向客户发送信息,也可以利用 response.Redirect 进行重新定位客户端到另一个 URL 上去,当然也可以利用 Response.Cookies 来设置 Cookies 的值。

使用格式:

response.write( 变量 ) ‘ 向客户端发送数据

response.redirect “网页名” ’ 指引用户端浏览器到新的页面

response.end ‘ 停止处理任何 ASP 文件,并把已处理部分的结果送出

response.clear ‘ 清除存放在服务器缓冲区的所有数据

Response.Cookies(cookie 名 )[(key)|.attribute]=value ‘ 设置 cookies 集合中的 cookie 的值。

五大对象responserequestsessionapplicationserve

 

示例

下面的代码示例使用 SignOut 方法清除 Forms 身份验证 Cookie,然后使用 RedirectToLoginPage 方法将用户重定向到登录页。

<%@ Import Namespace="System.Web.Security" %>

<script runat="server">

public void LoginLink_OnClick(object sender, EventArgs args)

{

    FormsAuthentication.SignOut();

    FormsAuthentication.RedirectToLoginPage();

}
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (this.Page.Title =="◣我的站點◥")
            {
                this.lblStatus.Visible = false;
            }
            else
            {
                this.lblStatus.Text = "【" + this.Page.Title + "】";
            }
        }
    }
    protected void RadMenuMain_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e)
    {
        if (e.Item.Text == "退出")
        {
            FormsAuthentication.SignOut();
            Response.Redirect("wfLogin.aspx", true);
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值