300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > asp.net身份验证和授权

asp.net身份验证和授权

时间:2020-05-12 04:44:35

相关推荐

asp.net身份验证和授权

下面请跟着小编一起来了解下身份验证和授权,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

今天闲着无聊.想起来了身份验证.感觉良好.贴出下列代码:

HTML代码

1%@ Page language="c#" Codebehind="" AutoEventWireup="false" Inherits="身份验证._02Login" %

2!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"

3HTML

4 HEAD

5 title02Login/title

6 meta name="GENERATOR" Content="MicrosoftVisualStudio .NET 7.1"

7 meta name="CODE_LANGUAGE" Content="C#"

8 meta name="vs_defaultClientScript" content="JavaScript"

9 meta name="vs_targetSchema" content=""

10 /HEAD

11 body MS_POSITIONING="GridLayout"

12 form method="post" runat="server"

13 FONT face="宋体"

14TABLE

15cellSpacing="1" cellPadding="1" width="446"

16TR

17 TD

18 runat="server"用户名称://TD

19 TD

20 runat="server" Width="183px"//TD

21 TD

22 runat="server" ErrorMessage="用户名不能为空!" ControlToValidate="tbName"//TD

23/TR

24TR

25 TD

26 runat="server"密码://TD

27 TD

28 runat="server" Width="183px"//TD

29 TD

30 runat="server" ErrorMessage="密码不能为空!" ControlToValidate="tbPass"//TD

31/TR

32TR

33 TDFONT face="宋体"是否保存Cookie/FONT/TD

34 TD

35 runat="server"//TD

36 TD/TD

37/TR

38/TABLE

39

40runat="server" Width="78px" Text="登录"/

41asp:HyperLink

42runat="server" NavigateUrl=""

43 /form

44 /body

45/HTML

.cs代码如下

private void btnLoginBetter_Click(object sender, e)

{

if ( == "admin" && == "admin")

{

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,,DateTime.Now,DateTime.Now.AddMinutes(30),,"User");//创建一个验证票据

string cookieStr = ()进行加密

HttpCookie cookie = new HttpCookie(,);创建一个cookie,cookie名为设置的名,值为加密后的数据,

if ()//判断用户是否选中保存cookie

= 获取过期时间

= 设置保存路径

();

string strRedirect;

strRedirect = Request["ReturnUrl"];//取出返回url

if (strRedirect == null)

strRedirect = "";

(,);

}

else

{

Response.Write("scriptalert('帐号或密码错误!');self.location.href='02'/script");

}

}

HTML代码

body MS_POSITIONING="GridLayout"

form method="post" runat="server"

FONT face="宋体"

asp:Label runat="server"用户名称:/asp:Label

asp:Label runat="server"身份:/asp:Label

asp:Label runat="server"/asp:Label

asp:Label runat="server"/asp:Label

asp:Button

runat="server" Text="注销" Width="101px"/asp:Button/FONT

/form

/body

后置代码

private void Page_Load(object sender, e)

{

this.lbUser.Text = User.Identity.Name;

if (User.IsInRole("Admin"))

this.lbSf.Text = "Admin";

else

this.lbSf.Text = "User";

}

Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 该调用是 Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

/**//// summary

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// /summary

private void InitializeComponent()

{

this.btnLogout.Click += new System.EventHandler(this.btnLogout_Click);

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void btnLogout_Click(object sender, e)

{

FormsAuthentication.SignOut();//注销票

Response.Redirect("",true);返回页面

}

webconfig配置如下

authentication mode="Forms"

forms name=".SecurityDemo" loginUrl=""//.SecurityDemo为cookie名,

/forms

/authentication

authorization

deny users="?"/ //拒绝所有匿名用户

allow roles="admins"///允许管理级别用户访问

/authorization

自我感觉ASP写多了,一般是用session进行判断用户是否合法,但在一个项目中使用身份验证,基本上所有页面都要验证才能访问,感觉有点迁强.但可以在web.config页面对指定的页面设置权限,设置代码如下

location path="admin.aspx"

system.web

authorization

deny users="?" /

/authorization

/system.web

/location

如果只有几个页面设置如上代码,感觉还可以接受.但页面多了岂不是要把人累死呀..

可能是小的项目做多了,大项目没接触过.请高手给指点具体用途呀.不甚感激.

/paleyyang/archive//10/21/536147.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。