ASP.NET ----安全模式

1.ASP.NET 的安全模式

1.1安全的必要性

       (1)构造特殊的链接地址,导致文件内的数据泄露

       (2)数据库泄露

       (3)安全防范的首要策略:所有的HTTP访问都要经过IIS,所以限制IIS的安全性是关键(只有管理员才能登录管理员的界面)

1.2. ASP.NET 的安全模式

   (1)根据所请求资源的类型,IIS能够自己处理请求,也可以不自己处理请求

  (2)如果资源请求一个ASP页面,则IIS将请求经过身份验证用户(或匿名用户)的安全令牌一起传递给ASP.NET,接下来发生的事情就取决于ASP.NET的配置

  (3)     ASP.NET支持的4种授权方法:

         1)  Windows:IIS验证,在内联网环境中非常有用

         2)  Passport:微软集中式身份验证,一次登录便可访问所有成员站点,需要收费

         3)  Form:窗体验证,验证帐号/密码,Web编程最佳最流行的验证方式

示例:

<authentication mode="Forms">
        <forms name="dd" loginUrl="logde.aspx"/>
      </authentication>
      <authorization>
        //阻止用户匿名访问
        <deny users="?"/>
      </authorization>

 < authentication>指用户定义的登录窗体的url<authorization>显示拒绝访问的用户显示该窗体。“?”表示任何匿名的、未将身份验证的用户。

             4)None:表示ASP.NET自己根本不执行身份验证,完全依赖IIS身份验证

1.3.认证和授权机制

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

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

2.基于窗体的授权模式

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

         (2)IIS接收请求,但不进行处理,而传递给ASP.NET应用程序

2.1<forms>元素的主要属性

Forms的验证实例

<authentication mode="Forms" >
        <forms loginUrl="logde.aspx" defaultUrl="Default.aspx">

          <credentials passwordFormat="Clear">
//用于添加用户名和密码
            <user name="admin" password="admin"/>
            <user name="user" password="123456"/>
          </credentials>
        </forms>

</authentication>

<authentication mode="Forms" >

3.<Credentials>指定用户名和密码的组合

        <forms loginUrl="logde.aspx" defaultUrl="Default.aspx">

          <credentials passwordFormat="Clear">
            <user name="admin" password="admin"/>
            
            <user name="user" password="123456"/>
          </credentials>
        </forms>
      </authentication>

  string name = TextBox1.Text;
            string password = TextBox2.Text;
if (FormsAuthentication.Authenticate(name,password))
            {
//把请求当前页面重定向到当初的请求资源(是否长久保存cookie)
  FormsAuthentication.RedirectFromLoginPage(name, false);

}
Else	{

}

4.对密码进行加密

         (1) Clear: 密码存储为明文。用户的密码直接与这个值比较。
        (2) MD5: 密码使用散列摘要进行存储。使用 MD5 算法进行散列,再与这个值进行相等比较。这个算法比 SHA1 的性能好。
        (3) SHA1: 密码使用 SHA1 散列摘要来存储。在验证证书时,用户密码使用 SHA1 算法进行散列,再与这个值进行相等比较。这个算法的安全性最高。





5.forms验证总结

1.用户利用forms验证访问受保护资源,包括以下4个步骤:

        (1) 用户请求受保护的页面 Index.aspx
        (2) HTTP 模块调用 forms 验证服务截取来自用户的请求,并检查其中是否包含用户凭据
        (3) 如果没有发出任何用户凭据,将自动转向用户登录页面 Login.aspx
       (4) 原请求页面地址 Index.aspx 将以 ReturnUrl 值的形式,附加在登录页面 Login.aspx URL 地址后。当用户通过验证后,应用程序将根据 ReturnUrl 值进行页面重定向,以便访问 Index.aspx

6.<authorization>对用户进行授权

      1.<authorization>配置节用来对用户进行授权,在实现用户授权过程中,应该遵循以下两个应用规则:

               (1) 一是位于较低目录级别的配置文件中包含的规则,优先于位于较高目录级别的规则
               (2) 二是对于给定 URL 的一组合并的规则,系统从列表头开始,检查规则直到找到第一个匹配项 为止

      2.<authorization>配置

             (1) deny 阻止访问用户; allow 允许访问用户
             (2) ?代表匿名用户, * 代表任意 用户
             (3) 个用户之间用“ , ”隔开

7.设置用户访问权限

8.<location>设置特定的文件和目录




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值