ASP.NET ----安全模式

本文详细介绍了ASP.NET中的安全机制,包括四种授权方法(Windows、Passport、Form 和 None),认证和授权过程,以及基于窗体的授权模式。此外,还提供了具体的配置示例和密码加密方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.aspxURL地址后。当用户通过验证后,应用程序将根据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、付费专栏及课程。

余额充值