ASP.NET里面的身份验证和授权(一)

原创 2013年12月04日 10:00:15

        在学习ASP.NET中,接触到了里面的身份验证和授权。我们就来具体总结一下这方面的知识。

        说到身份验证,我们以前的身份验证和授权都是基于Session来做的,都是从数据库中进行查找,比如说登陆的页面,我一登陆的时候输入用户名和密码,在数据库中查找,如果查找发现它是正确的,我们在Session中做一个标记,记录下来它是正确的。以后在访问其他页的时候,如果你有权限限制的话,每一页都判断你的Session对象是否存在,如果存在它的值是否是一个合法的用户。如果是,就允许进入这一页;如果不是,就不允许进入这一页。这是我们以前采用的方法,做过系统的都会有印象。

 

     这种方法比较独立,它需要的知识就是一个Session(这个在ASP.NET中有讲过,可能我们之前不知道这个是Session),然后每一页做一个判断就可以了。但是这种方法效率不高,因为它在Session中,每次运行,运行结束断开后Session就没了。那么用户下次还需要登陆,我们在上网的时候会发现这样一个问题:有时候我们在登陆一个网站的时候,第一次登陆输入用户名和密码,但是等到第二次登陆的时候就不需要再重新输入了,直接就可以登陆了,这个网站已经把你的登陆信息记录下来了,那么它们是怎么做的呢?有人说是把信息存在了Session里面,可你想过没有,你把用户的身份啊、验证的方式啊都给它存进Session里,每个用户登录都存进Session里,相对来说Session的负担比较重,它在服务器端的内存消耗比较大,势必会影响运行的速度。所以说这样的想法是不合理的,同时这也是我们需要注意的地方,设计的时候要考虑这方面的问题。

 

      在ASP.NET中提供了这样几种方法。如下面的表格

            大抵我们认为这是三种身份验证方式,分别为Windows身份验证、Forms身份验证和Passport身份验证。最后一种None就是没有身份验证,这种我们就不考虑了。

 

           Windows身份验证主要是基于Windows的用户管理,也就是说Windows的安全实际上就是我们ASP.NET应用程序的安全。我们在使用它时主要依靠的是设置。

           Forms身份验证是基于表单的或者是基于窗体的验证,这种验证模式呢它是使用CookieCookie是在客户端本地存储的,相当于一些数据。但是如果你的本机限制了Cookie的话,那么这种方式也不是特别好。有很多书上提过,正因为它有安全隐患,所以你在验证的时候尽量不要使用Cookie。可能会建议你使用Session,但是Session毕竟服务器内存是有限的。现在来说Forms用来做身份验证它还是比较普遍用到的。

           Passport就是属于身份证或者说是护照,那么这种方式他需要跟微软的相关的一些服务器关联比较大。所以说这种用的并不是很多。那么一般情况下,在小型的局域网内,在小型的范围内,使用Windows验证这是可以的。那么在Internet上很多人还是愿意采用这种Forms的身份验证方式。那么像我们用Session那种也有很多人在用,但是Forms相对而言对内存能够节省一点,记忆是在本机。

           下一篇博客我们将具体说一下Forms身份验证。敬请期待!

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

asp.net身份验证方式

ASP.NET身份验证模式包括Windows、Forms(窗体)、Passport(护照)和None(无)。重点内容 Windows身份验证 常结合应用程序自定义身份验证使用使用这种身份验证模式时,...
  • AkashaicRecorder
  • AkashaicRecorder
  • 2016年01月06日 22:01
  • 517

asp.net身份认证方式

asp.net提供了3种认证方式: windows身份验证, Forms验证和Passport验证. 1、windows身份验证                ...
  • dasihg
  • dasihg
  • 2012年10月10日 23:13
  • 508

ASP.NET身份验证方式

Windows:使用Windows操作系统和NTFS文件系统验证,适合公司内部站点使用,不适合大众商业站点 Forms:利用网页向客户端发送凭证,客户端再把凭证提交给应用程序进行身份验证(使用最普遍...
  • xbfengyu
  • xbfengyu
  • 2017年09月15日 14:29
  • 203

ASP.NET身份验证——Windows身份认证

细说ASP.NET Windows身份认证 阅读目录 开始认识ASP.NET Windows身份认证访问 Active Directory在ASP.NET中访问Active Direct...
  • likingsn
  • likingsn
  • 2015年11月03日 11:08
  • 1938

Asp.Net MVC中身份认证和授权

 http://blog.csdn.net/kenshincui/article/details/5559508 MVC自带的ActionFilter 在Asp.Net WebFor...
  • Lyncai
  • Lyncai
  • 2015年03月16日 21:09
  • 3182

ASP.NET WEBAPI 的身份验证和授权

身份验证(Authentication):确定用户是谁。 授权(Authorization):确定用户能做什么,不能做什么。 身份验证 WebApi 假定身份验证发生在宿主程序称中。...
  • u013948181
  • u013948181
  • 2017年03月06日 20:06
  • 2692

ASP.NET MVC4 身份认证和授权

寒假准备对我们团队开发的各个小系统进行整合和重写,由于这些系统需求分析并不够仔细,所以在后期缝缝补补,加上人员交替,使得代码结构凌乱不堪,让我这个有代码洁癖的人难受的要死,所以打算重新梳理,由于我们团...
  • wslpeter1987
  • wslpeter1987
  • 2016年03月19日 16:52
  • 1122

ASP.NET MVC:窗体身份验证及角色权限管理示例

前言   本来使用Forms Authentication进行用户验证的方式是最常见的,但系统地阐明其方法的文章并不多见,网上更多的文章都是介绍其中某一部分的使用方法或实现原理,而更多的朋友则发文询...
  • hpnets
  • hpnets
  • 2015年03月07日 18:20
  • 4755

ASP.NET身份验证——Windows身份认证

细说ASP.NET Windows身份认证 阅读目录 开始认识ASP.NET Windows身份认证访问 Active Directory在ASP.NET中访问Active Direct...
  • likingsn
  • likingsn
  • 2015年11月03日 11:08
  • 1938

从 ASP .NET 进行 Active Directory 域服务身份验证

https://msdn.microsoft.com/zh-cn/library/ms180890 本主题说明 ASP.NET 应用程序如何使用 Forms 身份验证来允许用户使用轻型目录访...
  • jsjpanxiaoyu
  • jsjpanxiaoyu
  • 2016年07月19日 21:18
  • 514
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET里面的身份验证和授权(一)
举报原因:
原因补充:

(最多只允许输入30个字)