LINQ to SQL 成员资格

成员资格

目标

安全的必要性

ASP.NET的安全模式

1. Windows验证

2. Passport验证

3. Form验证

4. None验证


安全的必要性


根据所请求资源的类型,IIS能够自己处理请求,也可以不自己处理请求。如果资源请求一个ASPX页面,则IIS将请求经过身份验证用户(或匿名用户)的安全令牌一起传递给ASP.NET。接下来要发生的事情就是取决于ASP.NET的配置。


安全的必要性有三方面

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

2. 数据库泄漏

3. 安全防范的首要策略:所有的HTTP访问都要经过IIS,所以限制IIS的安全性是关键


ASP.NET的安全模式有三种授权方法:

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

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

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

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


LINQ to SQL 成员资格_第1张图片

身份授权模式


基于窗体的身份验证是不允许用户访问整个应用程序或其特定资源的一种流行模式。使用它可以把登录窗体直接放在应用程序中,这样,终端用户只需要把用户名和密码输入到浏览器中的一个HTML窗体上即可。



LINQ to SQL 成员资格_第2张图片

认证和授权机制

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

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


LINQ to SQL 成员资格_第3张图片

Form窗体验证实例:


首先打开Microsoft Visual Studio 2010”程序,选择文件“新建”——“项目”,弹出“新建项目”模版,创建“ASP.NET Web应用程序”,点击“确定”,

LINQ to SQL 成员资格_第4张图片
在“WebApplication1”右键点击选择“添加”——“新建文件夹”更改名称,然后在新建的文件夹中更改名称,之后

LINQ to SQL 成员资格_第5张图片
WebApplication1”右键点击“添加”——“新建项”弹出“添加新项”模板,然后点击“Web”在另一边选择“Web窗体”,更改名称,点击“添加”。


LINQ to SQL 成员资格_第6张图片


LINQ to SQL 成员资格_第7张图片

具体代码如下:

登录页面
LINQ to SQL 成员资格_第8张图片 LINQ to SQL 成员资格_第9张图片


LINQ to SQL 成员资格_第10张图片

具体代码:
 
   
protected void Button1_Click(object sender, EventArgs e)
{
string name = TextBox1.Text;
string pwd = TextBox2.Text;
if (name == "admin" && pwd == "123")
{
FormsAuthentication.RedirectFromLoginPage(name, false); }
else
{
ClientScript.RegisterStartupScript(this.GetType(), "Login", "alert('用户名或密码不正确,请重新输入');", true);
}

LINQ to SQL 成员资格_第11张图片
Web.config页面:

 
   
LINQ to SQL 成员资格_第12张图片

两个方式的登陆 方法:

Login.aspx

 
   
protected void Button1_Click(object sender, EventArgs e)
{
string name = TextBox1.Text;
string pwd = TextBox2.Text;
// 多个验证登录方式
if (FormsAuthentication.Authenticate(name,pwd))
{
FormsAuthentication.RedirectFromLoginPage(name, false);
} else
{
ClientScript.RegisterStartupScript(this.GetType(), "Login", "alert('用户名或密码不正确,请重新输入');", true);
}

LINQ to SQL 成员资格_第13张图片

Web.config页面

 
   
LINQ to SQL 成员资格_第14张图片

实现方法:


LINQ to SQL 成员资格_第15张图片LINQ to SQL 成员资格_第16张图片LINQ to SQL 成员资格_第17张图片

加密的方式:

Login.aspx


protected void Button1_Click(object sender, EventArgs e)
{
string name = TextBox1.Text;
string pwd = TextBox2.Text; if (name == "admin" && pwd == "123")
{ Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("123", "MD5"));
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "Login", "alert('用户名或密码不正确,请重新输入');", true);
}

LINQ to SQL 成员资格_第18张图片

Web.config页面

 
   


LINQ to SQL 成员资格_第19张图片

实现的方法:

LINQ to SQL 成员资格_第20张图片LINQ to SQL 成员资格_第21张图片

你可能感兴趣的:(ASP.NET网站开发)