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

        在学习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身份验证。敬请期待!

 

 

 

 

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值