asp.net里面的身份验证和授权(2)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP.NET的高级调试技巧
  对于一个项目来说,你不可能通过设定起始页按F5键进行调试,原因是:各个网页间的关联性太强,要验证的的东西也很多。在调试时很难进行(实际上在我做的项目中根本不能进行)。   那么

login.aspx.cs代码如下

private void btnLoginBetter_Click(object sender, 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设置的名,值为加密后的数据cookieStr,

if (this.PersistCookie.Checked)//判断用户是否选中保存cookie

cookie.Expires = ticket.Expiration;//获取cookie过期时间

cookie.Path = FormsAuthentication.FormsCookiePath;//设置cookie保存路径

Response.Cookies.Add(cookie);
string strRedirect;
strRedirect = Request["ReturnUrl"];//取出返回url

if (strRedirect == null)
strRedirect = "Default.aspx";
Response.Redirect(strRedirect,true);

}
else
{
Response.Write("<script>alert('帐号或密码错误!');self.location.href='02login.aspx'</script>");
}
}

Default.aspx HTML代码

<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:Label id="Label1" style="Z-INDEX: 106; LEFT: 224px; POSITION: absolute; TOP: 72px" runat="server">用户名称:</asp:Label>
<asp:Label id="Label2" style="Z-INDEX: 102; LEFT: 220px; POSITION: absolute; TOP: 136px" runat="server">身份:</asp:Label>
<asp:Label id="lbUser" style="Z-INDEX: 103; LEFT: 350px; POSITION: absolute; TOP: 79px" runat="server"></asp:Label>
<asp:Label id="lbSf" style="Z-INDEX: 104; LEFT: 355px; POSITION: absolute; TOP: 133px" runat="server"></asp:Label>
<asp:Button id="btnLogout" style="Z-INDEX: 105; LEFT: 261px; POSITION: absolute; TOP: 192px"
runat="server" Text="注销" Width="101px"></asp:Button></FONT>
</form>
</body>
后置代码

private void Page_Load(object sender, System.EventArgs e)
{
this.lbUser.Text = User.Identity.Name;
if (User.IsInRole("Admin"))
this.lbSf.Text = "Admin";
else
this.lbSf.Text = "User";
}

分享:结合JavaScript与ASP.NET Web窗体进行程序开发
ASP.NET为Web程序开发提供了新的范例。其中包括一系列基于服务器的控件,这些控件类似于HTML窗体中诸如文本框、按钮等元素。使用这些控件的问题是必须调用服务器。JavaScript为很多任务提供多种

来源:模板无忧//所属分类:.Net教程/更新时间:2008-08-22
相关.Net教程