中文(繁体)
今天閒著無聊.登入.aspx HTML程式碼
1<%@ 頁面語言="c#" Codebehind="02Login.aspx.cs" AutoEventWireup="false" Inherits="驗證._02Login" %> 2 3 4 <頭> 5 <標題>02登入標題> 6 7 8 9 http://schemas.microsoft.com/intellisense/ie5 "> 10 頭> 11
私人無效btnLoginBetter_Click(物件發送者,System.EventArgs e) { if (this.tbName.Text == "admin" && this.tbPass.Text == "admin") { FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1,this.tbName.Text,DateTime.Now,DateTime.Now.AddMinutes(30),this.PersistCookie.Checked,"User");//建立驗證表單string cookieStr = FormsAuthentication.Encrypt(ticket);進行加密HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,cookieStr);建立一個cookie,cookie名為web.config設定的名稱,設定為加密後的datacookieStr, if (this.PersistCookie.Checked)//判斷使用者是否選取儲存cookie cookie.Expires = Ticket.Expiration;//取得cookie過期時間cookie.Path = FormsAuthentication.FormsCookiePath;//設定cookie儲存路徑Response.Cookies.Add(cookie);字串 strRedirect; strRedirect = Request["ReturnUrl"];//取出返回url if (strRedirect == null) strRedirect = "預設.aspx"; Response.Redirect(strRedirect,true);
}別的{ Response.Write(""); } }
Default.aspx HTML程式碼
私人無效Page_Load(物件發送者,System.EventArgs e) { this.lbUser.Text = User.Identity.Name; if (User.IsInRole("管理員")) this.lbSf.Text = "管理員";別的this.lbSf.Text = "使用者"; }
Web 表單設計器產生的程式碼#region Web 表單設計器產生的程式碼覆蓋 protected void OnInit(EventArgs e) { // // CODEGEN: 呼叫是 ASP.NET Web 表單設計者所必需的。 //初始化組件();基.OnInit(e); } /**//// <摘要> /// 設計器支援所需的方法 - 不要使用程式碼編輯器修改/// 該方法的內容。 /// 摘要>私有無效InitializeComponent() { this.btnLogout.Click += new System.EventHandler(this.btnLogout_Click); this.Load += new System.EventHandler(this.Page_Load);
} #endregion
private void btnLogout_Click(物件發送者, System.EventArgs e) { FormsAuthentication.SignOut();//註銷票Response.Redirect("login.aspx",true);傳回login.aspx頁面}
webconfig配置如下<身份驗證模式=“表單”> //.SecurityDemo為cookie名稱, 形式> 認證>
<授權> //拒絕所有匿名用戶//允許管理等級使用者訪問授權>自己感覺ASP寫的多了,一般是用session進行判斷用戶是否合法,但是在一個ASP.NET專案中使用身份驗證,基本上所有頁面都要驗證才能訪問,感覺有點遷強。 config中頁面對指定的頁面設定權限,設定程式碼如下<位置路徑=“admin.aspx”> <系統.web> <授權> <拒絕用戶=“?” /> 授權> 位置>如果只有頁面幾個設定如上程式碼,感覺還可以接受。可能是專案小專案做多了,大的沒接觸過。
http://www.cnblogs.com/paleyyang/archive/2006/10/21/536147.html