ASP.NET网站开发——成员资格(安全模式)

安全的必要性

 
  • 构造特殊的链接地址,导致文件内的数据泄露
  • 数据库泄露
  • 安全防范的首要范畴:所有的HTTP访问都要经过IIS,所以限制IIS的安全性是关键

        

asp.net的安全模式

        简介:根据所请求的资源类型,IIS能够自己处理请求,也可以不自己处理请求。如果资源请求一个ASPX页面,则IIS将请求经过身份验证用户(或者匿名用户)的安全令牌一起传递给ASP.NET。接下来的事情就取决于ASP.NET配置。

  •  根据锁请求资源的类型,IIS能够自己处理请求,也可以不自己处理请求
  •   如果资源请求一个ASP页面,则IIS经请求经过身份验证用户(或者匿名用户)的安全令牌一起传递给ASP.NET,接下来发生的事情就取决于asp.net的配置。

        ASP.NET支持4种授权方法:

  •         Windows:IIS验证,对于内联网环境非常有用
  •         Passport:微软集中式身份验证,一次登录便可访问所有成员站点,需要收费
  •         Form:窗体验证,验证账号/密码,Web最佳最流行的验证方式
  •         None:表示ASP.NET自己不执行验证方式,完全依赖IIS身份验证

认证和授权机制

        认证是确认用户身份的过程,在用户通过了身份验证后,开发人员就可以确定该用户是否有权继续操作。如果没有进行身份验证,就不能进行实体授权。

        授权是确定已验证的用户是否有权访问应用程序中的某个部分、某个点或只访问应用程序提供的特定数据集。

基于窗体身份授权模式

        允许用户访问整个应用程序或其特定资源的一种流行模式

        IIS接收请求,但不进行处理,而传递给

<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="login.aspx" defaultUrl="Index.aspx">
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>

<authorization>节指示用户定义的登录窗体URL,ASP.NET仅向<authorization>节被显示拒绝访问的用户显示该窗体。deny表示验证阻止匿名用户,allow表示允许访问用户,符号“?”表示任何匿名未经身份验证的用户。如果请求者未通过验证就执行<authorization>元素中的内容。Mode属性的值设值为Form,表示Web应用程序使用基于窗体的身份验证。loginUrl表示未验证用户跳转的页面,defaultUrl表示验证成功默认跳转的页面。path保存cookie的位置。该cookie用于储存授权用户的访问令牌,多数情况默认值为“/”。

下图为用户身份验证流程

                                

下图为<Form>元素主要属性

        

密码进行加密

        我们可以将用户名和密码保存在Web.config文件中,用来检查用户名和密码是否来自授权用户。Web.config文件文件的<forms>子元素还可以有子元素。子元素<credentials>允许直接在Web.config中指定用户名和密码组合。

                       

<credentials>元素在配置文件中添加了用户及其密码。<credentials>有一个属性passwordFormat,其值可以是Clear、MD5和SHAI。

密码加密方式有三种

        Clear:密码储存明文。用户的密码直接与这个值比较,不需要进一步转换。

        MD5:密码使用散列摘要进行存储。在验证证书时,用户密码使用MD5算法进行散列,在与这个值进行相等比较。不会存储或比较明文密码。这个算法比SHAI的性能好

        SHA1:密码使用SHA1散列摘要来存储。在验证证书时,用户密码使用SHA1算法进行散列,再与这个值进行相等比较。这个算法的安全性最高。

下面的例子获取了用户输入的密码然后将其以MD5加密形式输出出来:

            

                                        

Form验证总结

        1    假设用户请求保护的页面为Default.aspx

        2    HTTP模块调用Form验证服务截取来自用户的请求,并检查其中是否包含用户凭证

        3    如果没有发出任何用户凭据,将自动转向用户登录页面Login.aspx

        4    原请求页面地址Default.aspx将以ReturnUrl值的形式附加在登录页面Login.aspx的Url地址后。当用户通过验证,程序将根据ReturnUrl值进行页面重新定向,以便访问Default.aspx。

设置访问权限

                        

使用<location>配置节,可以指定特定的文件或目录进行特别访问权限:

                                                



                                                                            微笑如有不足,请批评指正,谢谢

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值