分享
 
 
 

一个简单的用ASP.NET/C#开发的组件化Web应用程序(附源代码)

王朝c#·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

==============================================================================

1)创建一个类来处理用户登录,将该类编译成一个装配件(assembly),并发布到站点的bin目录下。

==============================================================================

编辑C#源程序文件class.cs:

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

using System.Web.Security;

namespace Component

{

public class CheckLogin

{

public CheckLogin() : base()

{

}

//输入工号和密码,返回用户名

public string isMember(string userName, string password)

{

// 定义SQL语句

string sql = "select ltrim(rtrim(nvcLName))+ltrim(rtrim(nvcFName)) as EmployeeName from [user] where workerNo = '" + userName + "' and [password] = '" + password + "'";

// 定义SQL连接

SqlConnection cn = new SqlConnection("server=server_sql;uid=sa;pwd=;database=lhzz");

// 定义SQL命令并打开连接

SqlCommand cmd = new SqlCommand(sql, cn);

cn.Open();

// 定义SQL数据读取器、执行数据读取、返回特定标题列的内容

SqlDataReader sdr;

sdr = cmd.ExecuteReader();

string name="";

if (sdr.Read())

{

name=sdr["EmployeeName"].ToString();

}

return name;

}

}

}

用csc命令将class.cs编译为Component.dll,然后把该文件复制到站点根目录的bin子目录下。这样,一个装配件的发布就完成了。

==================================================================================

2)建立登录页(login.aspx)。当用户尚未登录就访问主页(default.aspx)时,会被重定向到登录页。

==================================================================================

源程序如下:

<%@ Import Namespace="Component" %> //引入名称空间——通过这样可以在程序中使用Component.dll中的类

<%@ Import Namespace="System.Web.Security" %>

<HTML>

<HEAD>

<div id="outResult" runat="server"></div>

<script language="C#" runat="server">

void SubmitBtn_Click(object Source, EventArgs e){

CheckLogin cl = new CheckLogin(); //实例化组件Component中的CheckLogin类

if (inputName.Text != "")

{

if (inputPassword.Text != "")

{

//定义一个字符串,它是CheckLogin类的实例cl的成员函数isMember()的返回值

string strName = cl.isMember(inputName.Text, inputPassword.Text);

if (strName != "")

{

FormsAuthentication.RedirectFromLoginPage(strName,false);

}

else

{

labelMessage.Text = "用户不存在!请重新输入或联系管理员";

inputName.Text = String.Empty;

}

}

else

{

labelMessage.Text = "请输入密码!";

}

}

else

{

labelMessage.Text = "请输入用户名!";

}

}

</script>

</HEAD>

<BODY>

<FONT FACE ="Verdana">

<H3>欢迎来到我的主页!</H3>

请登录。

<form runat="server">

用户:<asp:textbox ID="inputName" TextMode="SingleLine" Text="" Width="200px" runat="server"/>

<br/>

密码:<asp:textbox ID="inputPassword" TextMode="Password" Text="" Width="200px" runat="server"/>

<br>

<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<asp:button OnClick="SubmitBtn_Click" Text="登录" runat="server"/>

<br>

<br>

<asp:label ID="labelMessage" style="color:red" runat="server"/>

</form>

</FONT>

</BODY>

</HTML>

=========================

3)建立首页(default.aspx)

=========================

源程序如下:

<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>

<html>

<head>

<script language="C#" runat="server">

protected void Page_Load(Object Src, EventArgs E)

{

labelUserName.Text = User.Identity.Name; // 获得经过验证的用户名

}

protected void Button_OnClick(Object Src, EventArgs E) // 注销并重定向到login.aspx

{

FormsAuthentication.SignOut();

Response.Redirect("login.aspx");

}

</script>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>首页</title>

</head>

<body>

<form name="form1" method="post" action="" runat="server">

<table width="90%" border="0">

<tr>

<td width="90%">欢迎你,<asp:label ID="labelUserName" runat="server"></asp:label> !

</td>

<td width="10%"><asp:button ID="buttonSignout" Text="注销" OnClick="Button_OnClick" runat="server"/></td>

</tr>

</table>

</form>

====================

4)配置web.config文件

====================

设置身份验证模式为“表单”模式:

<configuration>

<system.web>

<authentication mode="Forms">

<forms name="login" loginUrl="login.aspx" protection="All" timeout="60"/>

</authentication>

<authorization>

<deny users="?"/>

</authorization>

</system.web>

</configuration>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有