在网站中实现安全性有以下几个方面:
- 认证:这是确保用户身份和真实性的过程。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缓存