国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ASP.NET Form驗(yàn)證隨筆

2019-11-17 04:18:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

以前的項(xiàng)目遇到用戶驗(yàn)證問(wèn)題全都采用windows驗(yàn)證方式,最近公司項(xiàng)目中要求采用Forms驗(yàn)證方式。

總結(jié)如下:

1.登錄頁(yè)面代碼

 PRotected void Button1_Click(object sender, EventArgs e)
        {

                FormsAuthenticationTicket ticket=new FormsAuthenticationTicket   (1,"LoginName",DateTime.Now,DateTime.Now.AddMinutes(20),false,"aaa",FormsAuthentication.FormsCookiePath);
                HttpCookie cookie=new HttpCookie(FormsAuthentication.FormsCookieName,FormsAuthentication.Encrypt(ticket));
                if(ticket.IsPersistent)
                {
                    cookie.Expires = ticket.Expiration;
                }
                Response.Cookies.Add(cookie);


                Response.Redirect("admin_page1.aspx");
        }

 

2. Webconfig代碼

<authentication mode="Forms" >
        <forms name="authTest" loginUrl="~/admin/admin_login.aspx" timeout="20">
        </forms>
      </authentication>
    </system.web>
  <location path="admin">
    <system.web>
      <authorization>
        <allow roles="admin,aaa"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

 

3.Global文件代碼

添加application_AuthenticateRequest事件

 if (HttpContext.Current.User != null)
            {
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    if (HttpContext.Current.User.Identity is FormsIdentity)
                    {
                        string userData;
                        string[] roles;

                        userData = string.Empty;
                        try
                        {
                            if (Request.Cookies["authTest"] != null)
                            {
                                FormsAuthenticationTicket ticket =
                                    FormsAuthentication.Decrypt(Request.Cookies["authTest"].Value);
                                if (ticket != null)
                                {
                                    userData = ticket.UserData;
                                }
                            }
                        }
                        catch (Exception E)
                        {
                            HttpContext.Current.Response.Write("<!-- " + E.Message + " -->");
                        }
                        roles = userData.Split(',');
                        HttpContext.Current.User = new GenericPrincipal(HttpContext.Current.User.Identity, roles);
                    }
                }
            }

 

到此完成了Forms驗(yàn)證。

但我有疑問(wèn):如果客戶端禁用了cookie那么forms驗(yàn)證是否就失效了呢?


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿瓦提县| 山阳县| 呼和浩特市| 合作市| 闵行区| 库尔勒市| 凌源市| 游戏| 黎城县| 大厂| 米泉市| 保靖县| 廉江市| 玉环县| 寿阳县| 鹤山市| 辛集市| 阳江市| 酉阳| 东山县| 易门县| 淮南市| 康定县| 太保市| 金山区| 五原县| 交口县| 灯塔市| 彰武县| 微博| 广东省| 黎平县| 崇州市| 美姑县| 自治县| 安义县| 贡觉县| 平山县| 响水县| 廉江市| 枝江市|