在ASP.NET中如何用C#.NET实现基于表单的验证(一)

asp.net

这篇文章引用到了Microsoft .NET类库中的以下名空间:
    System.Data.SqlClient
     System.Web.Security
-------------------------------
   任务:
    摘要: 
  1.要求
    2.用Visual C#.NET 创建一个ASP.NET 应用程序
  3.在Web.config文件里配置安全设置
  4.创建一个数据库表样例来存放用户资料
  5.创建Logon.aspx页面
  6.编写事件处理代码来验证用户身份
  7.创建一个Default.aspx页面
  8.附加提示

摘要
 这篇文章示范了如何实现通过数据库存储用户信息来实现基于表单的验证.
(一)要求
 需要以下工具来实现
1.Microsoft Visual Studio.NET
2.Microsoft Internet Information Services(IIS) version 5.0 或者更新
3.Microsoft SQL Server
(二)用C#.NET创建ASP.NET应用程序
1.打开Visual Studio.NET
2.建立一个新的ASP.NET Web应用程序,并且指定名称和路径.
(三)在Web.config文件里配置安全设置
这一节示范了如何通过添加和修改<authentication>和<authorization>节点来配置ASP.NET应用程序以实现基于表单的验证.
1.在解决方案窗口里,打开Web.config文件.
2.把authentication模式改为Forms(注:默认为windows)
3.插入<Forms>标签,并且填入适当的属性.(请链接到在文章最后列出的MSDN文档或者QuickStart文档来查看这些属性)先复制下面的代码,接着再把它粘贴到<authentication>节:

<authentication mode="Forms">
<form name=".ASPXFORMSDEMO" loginUrl="logon.aspx" protection="All" path="/" timeout="30"/>
</authentication>
(注:如果不指定loginUrl,默认为default.aspx)

4.通过加入以下节点实现拒绝匿名访问:
<authentication>
<deny users="?"/>
<allow users="*"/>
</authentication>

(四)创建一个数据库表样例来存放用户资料
这一节示范了如何创建一个示例数据库来存放用户名,密码,和用户角色.如果你想要实现基于角色的安全就有必要在数据库中添加一个存放用户角色的字段.
1.打开记事本。
2.把下面这段脚本复制到记事本然后保存:

if exists (select * from sysobjects where id =
object_id(N'[dbo].[Users]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Users]
GO
CREATE TABLE [dbo].[Users] (
   [uname] [varchar] (15) NOT NULL ,
   [Pwd] [varchar] (25) NOT NULL ,
   [userRole] [varchar] (25) NOT NULL ,
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Users] WITH NOCHECK ADD
   CONSTRAINT [PK_Users] PRIMARY KEY  NONCLUSTERED
   (
      [uname]
   )  ON [PRIMARY]
GO

INSERT INTO Users values('user1','user1','Manager')
INSERT INTO Users values('user2','user2','Admin')
INSERT INTO Users values('user3','user3','User')
GO
3.打开Microsoft SQL Server,打开查询分析器,在数据库列表里选择Pubs数据库,然后把上面的脚本粘贴过来,运行。这时会在Pubs数据库里创建一个将会在这个示例程序中用到的示例用户表。

时间: 2024-10-24 20:12:08

在ASP.NET中如何用C#.NET实现基于表单的验证(一)的相关文章

在ASP.NET中如何用C#.NET实现基于表单的验证(二)

asp.net (五)创建Logon.aspx页面1.在已创建好的项目里创建一个新的Web 窗体,名为Logon.aspx.2.在编辑器里打开Logon.aspx,切换到HTML视图.3.复制下面代码,然后在编辑菜单里"选择粘贴为HTML"选项,插入到<form>标签之间.    1<h3> 2   <font face="Verdana">Logon Page</font> 3</h3> 4<tab

在ASP.NET中如何用C#.NET实现基于表单的验证

这篇文章引用到了Microsoft.NET类库中的以下名空间:System.Data.SqlClientSystem.Web.Security -------------------------------任务:摘要: 1.要求2.用VisualC#.NET创建一个ASP.NET应用程序3.在Web.config文件里配置安全设置4.创建一个数据库表样例来存放用户资料5.创建Logon.aspx页面6.编写事件处理代码来验证用户身份7.创建一个Default.aspx页面8.附加提示 参考文章-

ASP.NET中如何用程序将excel中的数据导入到数据库中(C#)

问题描述 ASP.NET中如何用程序将excel中的数据导入到数据库中(C#),比较不同的时,excel只有一个表,里面是全部的详细信息,导入到sqlserver中的是多个表,这个如何实现?希望有具体的例子! 解决方案 解决方案二:大致原理:先将EXCEL导入GridView,然后再操作GridView中的数据存入数据库相应表中!在这里不能给你提供原码了,但你可以在Google内收到很多!解决方案三:用的是vs.net2003啊,应该如何?解决方案四:以下是我的一个真实的例子,供参考!<tr>

Access中如何用 Jet SQL 语句删除表关系?

access|语句 Access中如何用 Jet SQL 语句删除表关系?   如何用 jet sql 的 ddl 语句建立表和关系?微软的 Access 中包含 Data Definition Language (DDL) 来建立删除表以及关系,当然了,这也可以用 DAO 来解决. 以下就是示例:用 DDL 的 Create Table 建立一个表 Table1 ,主键是自动编号字段,另一个字段是长度是 10 的文本字段.CREATE TABLE Table1 (Id COUNTER CONS

ASP中关于action=""的表单传递的值request()延迟一次.

问题描述 ASP中关于action=""的表单传递的值request()延迟一次.

asp.net用了母版之后怎么接收FORM表单?

问题描述 用了母版之后表单ID都会更改规律是ID变成ctl00_contentMaster_IDname变成ctl00$contentMaster$name同一个页面中可以使用ClientID来获取改名后表单的ID但如果表单提交到其他页面请问应该如何获取ID呢?我现在的做法是直接按照规律添加ctl00$contentMaster$这一串到原name上然后再Request.Form["XXX"]但我希望能有方法直接取到更改后的名字,而不是这样手工改名字请问有什么方法可以实现吗? 解决方案

SharePoint 2013中如何自定义Providers在基于表单的身份验证

由于项目的需要,登录SharePoint Application的用户将从一个统一平台中获取,而不是从Domain中获取,所以需要对SharePoint Application的身份验证(Claims Authentication Types)进行更改,即采用更加灵活的混合模式登录:Windows Authentication和Forms Based Authentication.故本篇博客将着重笔墨去介绍SharePoint 2013自定义Providers在基于表单的身份验(Forms-Ba

SharePoint 2013自定义Providers在基于表单的身份验证中的应用

由于项目的需要,登录SharePoint Application的用户将从一个统一平台中获取,而不是从Domain中获取,所以需要对SharePoint Application的身份验证(Claims Authentication Types)进行更改,即采用更加灵活的混合模式登录:Windows Authentication和Forms Based Authentication.故本篇博客将着重笔墨去介绍SharePoint 2013自定义Providers在基于表单的身份验(Forms-Ba

框架中jsp弹出js后提交表单时执行action时没有跳转回原jsp,

问题描述 框架中jsp弹出js后提交表单时执行action时没有跳转回原jsp,而是在打开了另外一个页面,我想让它跳回原jsp.人事管理中后台,框架右边显示员工所有信息,点上面添加员工,弹出一个子页面,填写信息点提交执行Action但是跳转是打开新的查询所有员工信息页面,应该是关闭该子页面,并且回到原框架父页面.这样跳转才是对,如何解决 解决方案 解决方案二:框架中jsp弹出js后提交表单时执行action时没有跳转回原jsp,解决方案三:怎么可能跳回原页面呢?肯定是跳到result页面啊.你要