ASP.NET安全

在网站中实现安全性有以下几个方面:

  • 认证:这是确保用户身份和真实性的过程。ASP.NET允许四种类型的认证:
    • Windows身份验证
    • 表单认证
    • 通行证认证
    • 自定义验证
  • 授权:是为特定用户定义和分配特定角色的过程。
  • 保密性:它涉及加密客户端浏览器和网络服务器之间的通道。
  • 完整性:涉及维护数据的完整性。例如,实施数字签名。

基于表单的身份验证

传统上,基于表单的身份验证涉及编辑web.config文件并添加具有适当的验证代码的登录页面。

可以编辑web.config文件并在其上编写以下代码:

<configuration>

<system.web>
   <authentication mode="Forms">
      <forms loginUrl ="login.aspx"/>
   </authentication>

   <authorization>
      <deny users="?"/>
   </authorization>
</system.web>
...
...
</configuration>

在上面的代码片段中提到的login.aspx页面具有以下代码文件,其中用户名(username)和密码(password)是硬编码的身份验证。



注意FormsAuthentication类负责认证过程。

Visual Studio允许通过Web站点管理工具无缝地轻松实现用户创建,身份验证和授权,而无需编写任何代码。这个工具允许创建用户和角色。

除此之外,ASP.NET还提供了现成的登录控件集,它具有控制执行所有工作的控件。

实现基于表单的安全性

要设置基于表单的身份验证,需要以下内容:

  • 支持认证过程的用户数据库
  • 使用数据库的网站
  • 用户帐户
  • 角色
  • 限制用户和小组活动
  • 默认页面,显示用户的登录状态等信息。
  • 登录页面,允许用户登录,检索密码或更改密码

IIS身份验证:SSL

安全套接字层或SSL是用于确保安全连接的协议。 启用SSL后,浏览器会加密发送到服务器的所有数据,并解密来自服务器的所有数据。同时,服务器加密和解密来自浏览器的所有数据。

安全连接的URL从HTTPS而不是HTTP开始。浏览器使用安全连接显示小锁图标。 当浏览器使用SSL通过安全连接初次尝试与服务器通信时,服务器通过发送其数字证书来验证自身。

要使用SSL,您需要从受信任的认证中心(CA)购买数字安全证书,并将其安装在Web服务器中。 以下是一些值得信赖和知名的认证机构:

  • www.verisign.com
  • www.geotrust.com
  • www.thawte.com

SSL内置于所有主流浏览器和服务器中。要启用SSL,需要安装数字证书。 各种数字证书的强度取决于加密期间生成的密钥的长度。 更多的长度,更安全的是证书,因此连接。

编号 强度 描述
1 40位 大多数浏览器支持,但很容易中断。
2 56位 强于40位
3 128位 非常难破解,但所有的浏览器不支持它。

上一篇: ASP.NET LINQ 下一篇: ASP.NET缓存