c#发展

首页 » 常识 » 诊断 » NET开发NET三层SQLServ
TUhjnbcbe - 2024/10/18 17:54:00
.NET开发-用户注册和登录模块1.概述在开发任何的系统,都需要与客户进行沟通,形成一份需求分析文档,然后架构师会根据需求分析文档构造开发模块。这里使用微软的.NET开发环境来开发一个用户管理模块,开发环境如下:VisualStudio以上版本,建议使用VS版本。SQLServer以上版本。C#语言。经典.NET三层架构。ADO.NET数据库通信。封装好的DBHelpr类库。UI层采用ASP.NETWebForm应用程序。用户模块的开发主要包括:用户注册、用户登录、权限的划分等。为了使系统的安全性得到保障,大多数系统都开发登录模块。只有通过登录模块,才能对登录用户进行验证,只有系统的合法用户才可以进入系统的主界面。这也是设计管理系统软件之前必须考虑的问题。首先由用户到系统上注册一个账户,此时用户的信息是存储在数据库中。然后用户就可以使用注册的用户名和密码登录系统了,在登录的过程中会对用户名和密码进行验证,只有真实的身份才可以登录系统。对于管理类的功能模块,还会验证用户的权限,如果具有某个模块的权限,则就可以操作该模块。在.NET系统软件中,每个用户都具有一定的角色权限,如普通用户、会员用户、管理员等权限的划分。例如:可以对用户进行增、删、改功能的权限为管理员,管理员具有最高权限,只能查看信息的权限为普通用户等。用户只有被分配过权限之后才可以在系统中使用。2.用户信息Users表结构如下是在SQLServer数据库中设计的表结构:在SQLServer中,使用SSMS工具或SQL语句根据此表结构创建表:SQLServer中,用户信息表的SQL语句如下:createtableUsers(UserIDintprimarykeyidentity(1,1),--用户编号UserNamevarchar(20)unique,--用户名UserPassvarchar(20)notnull,--用户密码UserRolevarchar(20)default普通用户,--权限UserStatevarchar(10)default在职check(UserState=在职orUserState=离职)--用户状态)3.三层架构项目的搭建这里使用VisualStudio搭建经典.NET三层架构,具体的搭建步骤可以参考《NET开发-ASP.NETWebForm+C#+SQLServer搭建经典三层架构》这篇文章。这里搭建的经典.NET三层架构如下图所示:使用VS创建项目,解决方案的名称一般都是以“企业名称.项目名称”命名,而项目则是以“企业名称.项目名称.三层名称”。像本次开发的项目,解决方案名称为“Yidosoft.Sales”,项目名称如“Yidosoft.Sales.UI”,表示UI层。Yidosoft.Sales.UI界面表示层,使用UI表示,为启动项目。Yidosoft.Sales.BLL业务逻辑层,使用BLL表示。Yidosoft.Sales.DAL数据访问层,使用DAL表示。Yidosoft.Sales.Models实体层,使用Models表示。4.用户模块开发4.1.实体类UsersModel的编写UsersModel类主要用于用户实体模型,与SQLServer中的Users表中的字段对应起来。在Yidosoft.Sales.Models项目中添加“UsersModel.cs”类,并编写如下C#代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceYidosoft.Sales.Models{publicclassUsersModel{///summary///用户编号////summarypublicintUserID{get;set;}///summary///用户名////summarypublicstringUserName{get;set;}///summary///密码////summarypublicstringUserPass{get;set;}///summary///权限////summarypublicstringUserRole{get;set;}///summary///用户状态////summarypublicstringUserState{get;set;}}}4.2.数据访问层UsersDAL的编写UsersDAL类主要用于针对SQLServer中Users表的数据访问层的类库,对原始数据进行处理。在Yidosoft.Sales.DAL项目中添加对Yidosoft.Sales.Models项目的引用。UsersDAL类的C#代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingYidosoft.Sales.Models;namespaceYidosoft.Sales.DAL{///summary///用户数据访问层////summarypublicclassUsersDAL{DBHelperdb=newDBHelper();///summary///添加用户////summary///paramname=usersModel/param///returns/returnspublicintAddUser(UsersModelusersModel){stringsql=string.Format(insertintoUsers(UserName,UserPass,UserRole,UserState)values({0},{1},{2},{3}),usersModel.UserName,usersModel.UserPass,usersModel.UserRole,usersModel.UserState);introws=0;try{rows=db.ExecuteNonQuery(sql);}catch(Exceptionex){rows=-1;}returnrows;}///summary///用户登录,true表示可以登录。////summary///paramname=usersModel/param///returns/returnspublicboolLogin(UsersModelusersModel){boolflag=false;stringsql=string.Format(selectUserIDfromUserswhereUserName={0}andUserPass={1},usersModel.UserName,usersModel.UserPass);objecto=db.GetExecuteScal(sql);if(o!=null){flag=true;}returnflag;}}}4.3.业务逻辑层UsersBLL的编写在Yidosoft.Sales.BLL项目中添加对Yidosoft.Sales.DAL和Yidosoft.Sales.Models项目的引用。UsersBLL类库主要用于对DAL层过来的数据进行业务逻辑处理,为业务逻辑层,大量的复杂的业务处理,都是在此层中完成的。在Yidosoft.Sales.BLL项目中添加名称为“UsersBLL.cs”类,并编写如下C#代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingYidosoft.Sales.Models;usingYidosoft.Sales.DAL;namespaceYidosoft.Sales.BLL{///summary///用户业务逻辑层////summarypublicclassUsersBLL{UsersDALuserDAL=newUsersDAL();///summary///添加用户////summary///paramname=usersModel/param///returns/returnspublicintAddUser(UsersModelusersModel){//如果有逻辑,则编写逻辑,如果没有直接调用DALreturnuserDAL.AddUser(usersModel);}///summary///用户登录////summary///paramname=usersModel/param///returns/returnspublicboolLogin(UsersModelusersModel){returnuserDAL.Login(usersModel);}}}4.4.添加用户功能的实现在Yidosoft.Sales.UI项目中添加对Yidosoft.Sales.BLL和Yidosoft.Sales.Models的引用。然后在Yidosoft.Sales.UI项目中添加“AddUser.aspx”Web窗体,设计效果如下图所示:AddUser.aspx页面代码如下:%

PageLanguage=C#AutoEventWireup=trueCodeBehind=AddUser.aspx.csInherits=Yidosoft.Sales.UI.AddUser%!DOCTYPEhtmlhtmlheadrunat=servermeta
1
查看完整版本: NET开发NET三层SQLServ