基于ASP.NET的系统用户登录模块设计与实现

时间:2022-07-30 05:47:22

基于ASP.NET的系统用户登录模块设计与实现

摘要:该文简述了在文档管理系统中设计与实现用户登录模块的方法,重点分析了该模块功能和按钮响应事件的部分代码。

关键词:;用户登录;文档管理系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)04-0664-02

1 概述

是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。与以前的Web开发模型相比,提供了数个重要的优点:1)增强的性能。2)世界级的工具支持。3)威力和灵活性。4)可管理性。5.安全性。

不仅仅是下一版本的Active Server Page;它是统一的Web开发系统,用来提供开发人员生成企业级Web应用程序所需的服务。的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。可以通过在现有ASP应用程序中逐渐添加功能,随时增强该ASP应用程序的功能。

2 C#简介

C#(C sharp)是一种面向对象的编程语言。C#开发者可以方便的在微软网络平台上扩展自己的应用。C#可以将任何组件转变为WEB服务,并且可以被运行于Internet上的任何平台的任何应用调用,重要的是C#对这一特性提供了内置的支持,更重要的一点,WEB服务框架可以让任何WEB服务都看起来类似于C#的内置对象,所以可以让开发人员在开发过程中继续使用他们已经具备的面向对象的开发方法和技巧,因此,C#是最适合开发. NET 应用系统的程序语言。

3 模块功能分析与设计

本文涉及的文档管理系统(DMS)是采用了B/S的三层结构模式。使用了SQL2005来建立数据库,子系统采用模块化方式构建,文档的浏览和管理在没有得到系统授权的前提下是无权进行的。在用户登录模块开发过程中提供了有效的安全策略,该模块实现对身份认证、权限分配来实现用户的验证与登录。

3.1 数据库设计

根据系统使用的实际情况系统定义了四种角色:领导、主管、用户、系统管理员。由于本系统设计在部门内部网络使用,故没有设置浏览访问的用户,所有系统用户都需要登录认证才能查询、使用相应的文档信息。

3.2 创建系统用户数据表

根据需求在数据库(DMS)中创建系统用户数据表(DMS_Users),由于该系统数据表较多,略过其它数据表。UPower字段为用户权限对应系统角色0-用户,1-系统管理员,2-领导,3-主管。

创建DMS_Users表并设置UID为主键SQL命令语句如下:

use "DMS"

create table "DMS_Users" (

"UID" varchar(10) not null,

"ULoginName" varchar(30) not null,

"UPwd" varchar(30) not null,

"Name" varchar(30) not null,

"Sex" bit not null,

"UEmail" varchar(30) null,

"UPower" int not null,

"UTel" varchar(30) null,

"DepID" varchar(10) not null,

"Remark" text null)

go

alter table "DMS_Users"

add constraint "DMS_Users_PK" primary key ("UID")

go

在表 "DMS_Users" 中添加外键约束:

alter table "DMS_Users"

add constraint "DMS_Dep_DMS_Users_FK1" foreign key ("DepID")

references "DMS_Dep" ("DepID") on update no action on delete no action

go

3.3 数据库连接配置

管理系统为了保持良好的移植性,采用对数据库配置进行统一管理的方法。将程序中用到的连接字符串信息统一放置于Config.web配置文件中,在程序中对该文件的这一配置进行调用,实现统一修改统一使用。由于在开发过程中数据库使用的是本地数据库,Data Source(数据源)设置为localhost;UID(用户ID)设定为系统默认的sa;PWD(连接密码)设定为sa,这一个参数与数据库安装时对sa用户密码的设置有关,而且sa的密码可以在数据库里面随时进行修改;DATABASE(数据库名)设定为系统所使用的数据库DMS。

Config.web配置主要代码如下:

3.4 用户登录模块设计

用户登录模块界面如图1所示,该模块中包括5个主要控件(两个文本框控件,两个按钮控件,一个Label控件),主要实现的是用户的登录操作。用户登录后,系统将自动读取该用户的用户名(ULoginName),并根据用户名判断用户的角色和拥有的权限(UPower),随后进入不同的用户界面(“登录系统”按钮的Click事件完成用户合法性的数据库验证。系统利用Session变量记录用户信息并伴随用户对系统进行操作的整个生命周期)。

从系统开发环境中能发现系统页面使用了代码分离技术,所谓分离技术就是前台显示的页面代码(.aspx)和后台数据处理的逻辑代码是分开存放(.CS)于两个不同的文件当中,简单来说就是,访问的一个.aspx的页面其实包含了两部分。使用代码分离的好处是页面表现和代码分离,方便美工和程序的协同开发,同时增强了程序代码的可读性,加强了网站的安全性。

下面主要分析一下系统用户登录页面的后台编码类(login.aspx.cs)的相关代码,重点分析登录按钮点击后的响应事件,该功能主要实现了数据库的连接、用户匹配以及用户权限信息的提取。

Login.aspx.cs部分代码分析如下:

//打开数据库

cn.Open();

//SQL语句构造

string strsql="select * from DMS_Users where

ULoginName="'+TextName.Text+"'and UPwd="'+TextPwd.Text+"'"

//创建Command对象

SqlCommand cm=new SqlCommand(strsql,cn);

//执行ExcuteReader()

SqlDataReader dr=cm.ExecuteReader();

if(dr.Read())

{//用户合法,将用户名、权限存入Session变量中

Session["userid"]=dr["ULoginName];

Session["userpower"]=dr["UPower"];

if(int)Session["userpower"]=1)

{ //用户为系统管理员

Response.Redirect("admin.aspx");

}

else //如果用户不存在,系统提示

{ label1.Text="用户名或密码不正确,请重新输入!";

label1.Style["color"]="red";

}

//关闭数据库

cn.Close();

}

4 结束语

本系统在文档数据访问控制中使用技术实现了系统用户的登录、验证等功能,使系统用户登录模块化,最大程度实现了代码重用性,使用户界面风格简洁统一,功能灵活并增强了网络系统的可靠性与安全性。

参考文献:

[1] 游凯何.一个基于的会员登录模块的实现[J].科技信息:学术研究,2007(9): 184-185.

[2] 田彦.基于的主题在网站设计中用户登录界面的应用[J].现代计算机:专业版,2012(18): 58-59,67.

[3] 何冬梅.基于ASP技术用户登录系统的设计与实现[J].煤炭技术,2012(9):209-210.

[4] 钟良侃.一种模块化用户认证服务的设计与实现[J].中国教育信息化,2012(3):86-90.

[5] 张秀萍.基于的管理信息系统的设计与实现[J].福建电脑,2010(1):109-110.

上一篇:汽车配件网上销售系统的设计与实现 下一篇:基于B/S架构的区域旅游网站