LINQ to SQL 成员资格

本文探讨了ASP.NET中的安全模式,包括Windows验证、Forms验证等,并强调了安全的重要性,如防止数据泄露和数据库保护。重点介绍了Form验证作为Web编程中最常用的验证方式,以及基于窗体的身份验证在限制用户访问应用程序资源中的作用。同时,文章也提及了认证和授权在确保用户权限方面的角色。

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

成员资格

目标

安全的必要性

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身份验证


身份授权模式


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



认证和授权机制

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

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


Form窗体验证实例:


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

在“WebApplication1”右键点击选择“添加”——“新建文件夹”更改名称,然后在新建的文件夹中更改名称,之后

WebApplication1”右键点击“添加”——“新建项”弹出“添加新项”模板,然后点击“Web”在另一边选择“Web窗体”,更改名称,点击“添加”。




具体代码如下:

登录页面



具体代码:
 
 
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);
}

Web.config页面:

 
 
<authentication mode="Forms">
<forms loginUrl="Login.aspx" defaultUrl="Default.aspx">
</forms> </authentication>
<authorization>
<deny users="?"/>
</authorization>

两个方式的登陆 方法:

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);
}

Web.config页面

 
 
<authentication mode="Forms"> <forms loginUrl="Login.aspx" defaultUrl="Default.aspx"> <credentials passwordFormat="Clear">
<user name="admin" password="123 "/>
<user name="user" password="456"/>
</credentials> </forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>

实现方法:


加密的方式:

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);
}

Web.config页面

 
 
<authentication mode="Forms">
<forms loginUrl="Login.aspx" defaultUrl="Default.aspx"> <credentials passwordFormat="MD5">
<user name="admin" password="202CB962AC59075B964B07152D234B70 "/>
<user name="user" password="456"/>
</credentials> </forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>


实现的方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值