好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Forms身份認證在IE11下無法保存Cookie的問題

Forms身份認證在IE11下無法保存Cookie的問題

熱門標簽:400電話如何申請取消 騰訊地圖標注手機 太原400電話上門辦理 征途美甲店地圖標注 昆明語音電銷機器人價格 浦發電話機器人提醒還款 電銷語音機器人型號參數 柳州電銷機器人公司 百度地圖怎樣做地圖標注
ASP.NET中使用Forms身份認證常見的做法如下:

1. 網站根目錄下的Web.config添加authentication節點
復制代碼 代碼如下:

authentication mode="Forms">
forms name="MyAuth" loginUrl="manager/Login.aspx" defaultUrl="manager/default.aspx" protection="All" timeout="60" />
/authentication>

2. 在manager子目錄下添加Web.config文件并加入下面的內容:
復制代碼 代碼如下:

?xml version="1.0"?>
configuration>
system.web>
authorization>
allow roles="Admin" />
deny users="*" />
/authorization>
/system.web>
/configuration>

這樣,用戶在沒有Forms認證的情況下訪問manager子目錄下的任何頁面均會自動跳轉到manager/Login.aspx頁面。如果認證成功,則會默認回到manager/default.aspx頁面。認證有效期為60分鐘。

3. 添加認證代碼。登錄按鈕中添加下面的代碼:
復制代碼 代碼如下:

if (!snCheckCode.CheckSN(txt_ValidateCode.Text))
{
snCheckCode.Create();
Utility.ShowMessage("校驗碼錯誤!");
return;
}

string strUserName = txt_Username.Text.Trim();
string md5Pwd = Helper.MD5ForPHP(Helper.MD5ForPHP(txt_Password.Text));
lc_admin admin = null;
bool logined = false;

using (var context = new dbEntities())
{
admin = context.tb_admin.Where(n => n.username == strUserName).FirstOrDefault();

if (admin != null)
{
if (admin.checkadmin != "true")
{
snCheckCode.Create();
Utility.ShowMessage("抱歉,該賬號被禁止登錄!");
return;
}

if (admin.password == md5Pwd)
{
// Update Admin Info
admin.loginip = Request.UserHostAddress.ToString();
admin.logintime = CndingUtility.DateTimeToUnixTimeStamp(DateTime.Now);
context.SaveChanges();

logined = true;
}
}
}

if (logined)
{
// Login
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
admin.id.ToString(),
DateTime.Now,
DateTime.Now.AddMinutes(60),
false,
"Admin",
FormsAuthentication.FormsCookiePath
);
string hashTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie userCookie = new HttpCookie(FormsAuthentication.FormsCookieName, hashTicket);
HttpContext.Current.Response.Cookies.Add(userCookie);

if (Request["ReturnUrl"] != null)
{
Response.Redirect(HttpUtility.HtmlDecode(Request["ReturnUrl"]));
}
else
{
Response.Redirect("/manager/default.aspx");
}
}
else
{
snCheckCode.Create();
CndingUtility.ShowMessage("用戶名或密碼不正確!");
}

MD5加密代碼:
復制代碼 代碼如下:

public static string MD5ForPHP(string stringToHash)
{
var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] emailBytes = Encoding.UTF8.GetBytes(stringToHash.ToLower());
byte[] hashedEmailBytes = md5.ComputeHash(emailBytes);
StringBuilder sb = new StringBuilder();
foreach (var b in hashedEmailBytes)
{
sb.Append(b.ToString("x2").ToLower());
}
return sb.ToString();
}

認證成功后默認會將用戶登錄信息以Cookie的形式存放到客戶端,有效期為60分鐘。UserData被設置為用戶的角色,在判斷用戶是否登錄時會用到。如下面的代碼:
復制代碼 代碼如下:

if (HttpContext.Current.User.Identity.IsAuthenticated)
{
int adminId = -1;
FormsIdentity identity = (FormsIdentity)HttpContext.Current.User.Identity;
FormsAuthenticationTicket ticket = identity.Ticket;
string userData = ticket.UserData;
if (userData == "Admin")
{
// To do something
}
}

上述代碼在Visual Studio中運行一切正常!但是將網站發布到服務器的IIS (可能會是較低版本的IIS,如IIS 6)后,發現登錄功能異常。輸入用戶名和密碼后點擊登錄按鈕,頁面postback但并不能正確跳轉,嘗試手動訪問受保護的頁面會被自動跳轉回登錄頁面。更奇怪的是該問題只出現在IE11瀏覽器上,嘗試用Firefox或Chrome訪問登錄功能運行正常。初步懷疑是IIS設置的問題,可是IIS 6上并沒有與Cookie相關的設置,好像記得IIS 7上倒是有這個設置。但因為只有IE 11存在該問題,所以可以否定代碼本身存在任何問題。

此外,還嘗試了降低IE 11的安全級別,重新安裝服務器上的.net framework以及下載最新的補丁等等,均不能解決問題。后來發現其實只需要簡單修改Web.config中authentication節點的設置就可以了,給forms添加cookieless="UseCookies"屬性即可。
復制代碼 代碼如下:

authentication mode="Forms">
forms name="MyAuth" cookieless="UseCookies" loginUrl="manager/Login.aspx" defaultUrl="manager/default.aspx" protection="All" timeout="60" />
/authentication>

用以明確告訴服務器使用Cookie來保存用戶驗證信息。問題解決!

標簽:江蘇 蘭州 張家界 陽泉 德陽 白山 新疆 天門

巨人網絡通訊聲明:本文標題《Forms身份認證在IE11下無法保存Cookie的問題》,本文關鍵詞  Forms,身份認證,在,IE11,下,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Forms身份認證在IE11下無法保存Cookie的問題》相關的同類信息!
  • 本頁收集關于Forms身份認證在IE11下無法保存Cookie的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 激情引诱h文| 杨幂不雅| 久久久高清日本道免费观看| 欧美日韩99| 18禁美女裸体激情A片| 韩国乱偷在线观看全部| 1819高清欧美xx| 日本护士xxxxxhd| 国产高清a毛片在线看| 久久人妻少妇偷人精品桃花| 秘?羞羞视频免费看网站| 国产片国语版理论片| 初尝了新婚小妇柔佳| 日本一区中文字幕| 把尿口扒开用筷子往里桶小说| 婷婷国V精品秘?精东在线| 中国裸男洗澡网站gay| 91九色TS另类国产人妖| 巜健身房激情HD中字| 女子勿进进必湿| 91狠狠综合久久久久精品网站 | 黃色A片三級三級三級桃花岛| 美女裸体秘?无遮挡免费挠脚| 中文字幕一二三四区2021| 美女无内裤遮挡露屁股胸| 国产精品视频2020| 少妇二级婬片免费天气预报| 国产精品手机视频一区二区| 拧花蒂尿用力按凸起喷水尿| 日本污视频在线观看| 久久久久精品国产亚洲AV糖心| 被调教成放荡小婬妇顾依依| 国内欧美一区二区三区| 黄视频在线观看www软件| 男女操的视频| 久久精品六| 乱婬孕妇孕交H小说| 91精品夜夜夜一区二区不卡牛牛 | 日本精品秘?进口Av网站| 爱丫爱丫兄妹在线影院电视剧| 午夜dj在线观看视频免费观看|