ASP.Net教程

ASP.NET 安全

在网站中实施安全有以下几个方面:
Authentication :这是确保用户身份和真实性的过程。 ASP.NET 允许四种类型的身份验证: Windows 身份验证 表单身份验证 Passport认证 自定义身份验证 Authorization:定义特定角色并将其分配给特定用户的过程。 Confidentiality:它涉及对客户端浏览器和 Web 服务器之间的通道进行加密。 Integrity:它涉及维护数据的完整性。例如,实施数字签名。

基于表单的身份验证

传统上,基于表单的身份验证涉及编辑 web.config 文件并添加具有适当身份验证代码的登录页面。
可以编辑 web.config 文件,并在其上写入以下代码:
<configuration>
<system.web>
   <authentication mode="Forms">
      <forms loginUrl ="login.aspx"/>
   </authentication>
   
   <authorization>
      <deny users="?"/>
   </authorization>
</system.web>
...
...
</configuration>
上述代码片段中提到的 login.aspx 页面可能包含以下代码隐藏文件,其中包含硬编码的用于身份验证的用户名和密码。
protected bool authenticate(String uname, String pass)
{
   if(uname == "Tom")
   {
      if(pass == "tom123")
         return true;
   }
   
   if(uname == "Dick")
   {
      if(pass == "dick123")
         return true;
   }
   
   if(uname == "Harry")
   {
      if(pass == "har123")
         return true;
   }
   
   return false;
}
public void OnLogin(Object src, EventArgs e)
{
   if (authenticate(txtuser.Text, txtpwd.Text))
   {
      FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked);
   }
   else
   {
      Response.Write("Invalid user name or password");
   }
}
注意 FormsAuthentication 类负责身份验证过程。
但是,Visual Studio 允许您通过网站管理工具无缝轻松地实现用户创建、身份验证和授权,而无需编写任何代码。此工具允许创建用户和角色。
除此之外,ASP.NET 还带有现成的登录控件集,其中包含为您执行所有作业的控件。

实施基于表单的安全性

要设置基于表单的身份验证,您需要:
支持身份验证过程的用户数据库 使用数据库的网站 用户帐户 角色 限制用户和群组活动 默认页面,用于显示用户的登录状态和其他信息。 登录页面,允许用户登录、找回密码或更改密码
要创建用户,请执行以下步骤:
步骤 (1):选择网站-> ASP.NET 配置以打开 Web 应用程序管理工具。
步骤 (2):单击"安全"选项卡。
安全标签
步骤 (3):通过选择"来自 Internet"单选按钮,将身份验证类型选择为"基于表单的身份验证"。
身份验证类型
步骤 (4):点击"创建用户"链接创建一些用户。如果您已经创建了角色,则可以在此阶段为用户分配角色。
创建用户链接
步骤 (5):创建一个网站并添加以下页面:
欢迎.aspx 登录.aspx CreateAccount.aspx PasswordRecovery.aspx 更改密码.aspx
步骤 (6):从工具箱的登录部分在 Welcome.aspx 上放置一个 LoginStatus 控件。它有两个模板:LoggedIn 和 LoggedOut。
在 LoggedOut 模板中,有一个登录链接,在 LoggedIn 模板中,控件上有一个注销链接。您可以从"属性"窗口更改控件的登录和注销文本属性。
登录状态控制
步骤 (7) :将工具箱中的 LoginView 控件放在 LoginStatus 控件下方。在这里,您可以放置​​文本和其他控件(超链接、按钮等),这些控件根据用户是否登录进行显示。
这个控件有两个视图模板:匿名模板和登录模板。选择每个视图并为用户编写一些文本,以便为每个模板显示。文本应放在标记为红色的区域。
登录视图控件
步骤 (8) :应用程序的用户由开发人员创建。您可能希望允许访问者创建用户帐户。为此,在 LoginView 控件下方添加一个链接,该链接应链接到 CreateAccount.aspx 页面。
步骤 (9):在创建帐户页面上放置一个 CreateUserWizard 控件。将此控件的 ContinueDestinationPageUrl 属性设置为 Welcome.aspx。
CreateUserWizard 控件
步骤 (10):创建登录页面。在页面上放置一个登录控件。 LoginStatus 控件自动链接到 Login.aspx。要更改此默认设置,请在 web.config 文件中进行以下更改。
例如,如果您想将登录页面命名为 signup.aspx,请将以下几行添加到 web.config 的 部分:
<configuration>
   <system.web>
      <authentication mode="Forms">
         <forms loginUrl ="signup.aspx" defaultUrl = “Welcome.aspx” />
      </authentication>
   </system.web>
</configuration>
步骤 (11):用户经常忘记密码。 PasswordRecovery 控件可帮助用户访问帐户。选择登录控件。打开其智能标签并点击"转换为模板"。
自定义控件的 UI 以在登录按钮下放置一个超链接控件,该控件应链接到 PassWordRecovery.aspx。
密码恢复控制
步骤 (12):在密码恢复页面上放置一个 PasswordRecovery 控件。此控件需要电子邮件服务器将密码发送给用户。
PasswordRecovery control2
步骤 (13):在 Welcome.aspx 中的 LoginView 控件的 LoggedIn 模板中创建指向 ChangePassword.aspx 页面的链接。
ChangePassword control
步骤 (14):在更改密码页面上放置一个 ChangePassword 控件。这个控件也有两个视图。
ChangePassword control2
现在运行应用程序并观察不同的安全操作。
要创建角色,请返回 Web 应用程序管理工具并单击安全选项卡。单击"创建角色"并为应用程序创建一些角色。
Web 应用程序管理
点击"管理用户"链接并为用户分配角色。
管理用户

IIS 身份验证:SSL

安全套接字层或 SSL 是用于确保安全连接的协议。启用 SSL 后,浏览器会对发送到服务器的所有数据进行加密,并对来自服务器的所有数据进行解密。同时,服务器对所有进出浏览器的数据进行加密和解密。
安全连接的 URL 以 HTTPS 而不是 HTTP 开头。使用安全连接的浏览器会显示一个小锁。当浏览器首次尝试通过使用 SSL 的安全连接与服务器通信时,服务器会通过发送其数字证书来验证自己。
要使用 SSL,您需要从受信任的证书颁发机构 (CA) 购买数字安全证书并将其安装在网络服务器中。以下是一些值得信赖和知名的认证机构:
www.verisign.com www.geotrust.com www.thawte.com
SSL 内置于所有主要浏览器和服务器中。要启用 SSL,您需要安装数字证书。各种数字证书的强度取决于加密过程中生成的密钥的长度。长度越长,证书越安全,因此连接越安全。
强度 说明
40 bit 大多数浏览器都支持,但容易破解。
56 bit 强于 40 位。
128 位 极难破解,但所有浏览器都不支持。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4