表格认证实践

时间:2011-03-09 09:45:17

标签: asp.net forms-authentication

我想知道为什么程序员使用了try块。这是一个着名的做法

 try
                    {
                        FormsAuthentication.RedirectFromLoginPage(username, pass;

                    }
                    catch
                    {
                        string strURL = (null != Request.QueryString["ReturnURL"] && Request.QueryString["ReturnURL"] != "") ? Request.QueryString["ReturnURL"] : "Default.aspx";

                        FormsAuthentication.SetAuthCookie(username, pass);

                        Response.Redirect(strURL);
                    }

由于

2 个答案:

答案 0 :(得分:0)

方法可以抛出。这是其中的一部分:

 // ....

 if (CookiesSupported || IsPathWithinAppRoot(current, returnUrl))
 {
    // ....
 }
 else
 {
    if (!EnableCrossAppRedirects)
    {
         throw new HttpException(SR.GetString("Can_not_issue_cookie_or_redirect"));
    }
    // ....
 }

 // ....

您可以自己在Reflector中看到所有这些内容。

答案 1 :(得分:0)

ReturnURL是一个参数,用于指定登录后的去向。如果它丢失了你可能想把它处理到Default.aspx,那就是全部。