ASP.NET表單身份驗證的實現方法
asp.net基于表單的身份驗證,可以防止用戶跳過登錄、直接輸入URL訪問頁面,而且不像Session控制那樣每個頁面都得寫代碼。
ASP.NET表單身份驗證***步:配置web.config(web.config中一定要注意大小寫,一般鍵是camelCasing風格,值是PascalCasing風格)
- < system.web>
- < authentication mode="Forms">
- < forms name="MainForm" loginUrl="Frame/Login.aspx" protection="All" timeout="60"/>
- < /authentication>
- < authorization>
- < deny users="?"/>< !--一定不要寫< allow users="*"/>否則匿名訪問時不會跳轉到登錄頁面-->
- < /authorization>
- < /system.web>
ASP.NET表單身份驗證第二步:登錄按鈕事件中,驗證用戶名、密碼通過后,
- // 記錄Cookie
- FormsAuthentication.SetAuthCookie(loginName, false);
- // 重定向頁面
- Response.Redirect("Frame.htm");
如果想重定向到用戶想訪問的頁面,也就是被轉到登錄頁面前訪問的頁面,需要獲得剛開始時用戶訪問的頁面URL,可以用以下方法:
- String redirectionUrl = FormsAuthentication.GetRedirectUrl(loginName,false);
然后判斷獲得的URL是否是登錄頁面或index頁面,如果是則redirectionUrl重新賦值為正常登錄時訪問的頁面URL。
- if(redirectionUrl.ToLower().IndexOf("login.aspx") > 0)
- redirectionUrl = "Frame.htm";
ASP.NET表單身份驗證完成:***重定向頁面就可以了。
- Response.Redirect(redirectionUrl);
【編輯推薦】