asp.net form验证 用cookie或session存储判断是否登陆

  次阅读 作者:智能小宝 来源:互联网 2016-01-27 15:27 我要评论(0)

读书时最常用判断登陆的就是登陆时用cookie或session存储,然后每个页面判断是否登陆。

这样做每个页面都要判断很麻烦。

毕业半年了,这半年学会了用类,重写事件OnLoad()来,这样每个页面继承这个类!这个类里可以判断是否登陆,判断权限等等一些操作

可是如果只有登陆验证没有权限其他操作的话!这样用form验证比继承类来得更方便,这个也是今天才想到的!由于读书时注重玩,结果好多没注意听。今天重新学习了下form验证

首先配置web.config

在systen.web内配置

<authentication mode="Forms">

<forms loginUrl="admin/Login.aspx" defaultUrl="admin/Default.aspx" timeout="1"></forms>

</authentication>

<!--

name 属性指定验证所需要的 cookie 的名称,默认值是 .ASPXAUTH ,如果在一个服务器上下挂了多个 Web 应用程序,必须重新指定该名称,因为每个应用程序都需要唯一的 cookie。

loginUrl 属性指定登录用的页面,用于提供用户名和密码,默认值是 login.aspx 。该页面可以和需要提供身份验证才能访问的页面放在同一个目录下(呵,我原以为这个页面要放在单独的可公开访问的目录下)。

defaultUrl 属性指定登入后跳转到的页面,默认值是 default.aspx ,当然你也可以跳转到用户登入前的前一个页面,并且这是 .NET 的默认实现。

timeout cookie过期时间

-->

<!--System.web同级-->

<location path="admin">

<system.web>

<authorization>

<deny users="?"/><--拒绝匿名用户-->

</authorization>

</system.web>

</location>

我做的后台单独放在一个文件夹内!这样只要给这个文件夹设置权限就可以,如果未登陆而浏览这个文件夹内的任意文件会跳转到登陆页面,登陆成功跳转到 ReturnUrl,也就是你之前访问的页面。如果ReturnUrl为空,跳转到defaultUrl,也就是你配置的默认url

接下来是代码

代码

if (TextBox1.Text == "adminss" && TextBox2.Text == "admin")

{

FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, CheckBox1.Checked);

//CheckBox1.Checked如果为true将会持久保存cookie,直到cookie失效

//后面可以接Response.Redirect( xx.aspx ),会跳转到你指定的页面,可是并不可以没有验证就跳转!

//如果没有上面的验证票而直接跳转会失败,因为没有建立身份验证票

//Response.Redirect(Context.Request["ReturnUrl"]);

//Response.Redirect("xx.aspx");

}

else

Response.Write("用户名或密码错误!");

有些页面要根据判断用户是否登陆呈现不同的排版

if(User.Identity.IsAuthenticated)//这个是用来判断用户是否登陆

{

//已登陆;

}

else

{

//未登陆

}

有时还要取用户的用户名显示在页面上

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...