在C#中如何实现帐号是否存在的验证(C/S架构的程序)

用于注册的最好是有代码分析。

以极通科技的ewebs为例:

不管是C/S还是B/S架构的应用,如何保证数据传输的安全是管理员要面对的问题,安全的关注点主要在三个方面:

用户身份验证的安全性:

用户身份验证的安全主要包括用户身份密码的安全和验证安全两个环节,传统的应用体系中,用户验证通常有用户名/密码验证、USB key验证及智能卡验证等方法。在EWEBS 2008 中,采用用户帐号和Windows帐号关联的方式,在EWEBS 2008中存储用户密码,用户访问应用程序时不直接使用Windows 帐号密码,而是使用EWEBS 2008中为用户单独创建的帐号。用户帐号的身份验证支持用户名/密码、USB Key验证、智能卡、指纹或视网膜等生物学身份验证方法。

服务器的安全性:

在传统的远程接入模式中,因为用户的应用直接在服务器端运行,如何保证服务器的安全性是管理员面临的一个大问题,一般都采用Windows 组策略等手段来保护服务的安全,但是组策略配置的复杂性、效果都不尽如人意。

在EWEBS 2008中,直接内嵌了Windows Active Directory 组策略的配置设置,管理员无需熟悉组策略的具体配置,只需要进行简单的选择,就可以轻松的限制用户对某个具体的硬盘、系统任务栏或IE等服务器端资源的访问。

数据传输的安全性:

在传统的应用模式中,客户端和服务器端需要传送应用程序相关的数据记录,如数据库的查询结果集等,这就对数据在网络上的传输安全提出了较高的要求,通常采用VPN加密、SSL加密等技术来保证应用数据的安全。在EWEBS 2008中,由于所有的应用程序都在服务器(集群)上运行,所以客户端和服务器端传送的仅仅是应用程序的输入输出逻辑,在没有特别授权的情况下,数据无法离开服务器(集群),保证了数据的安全。EWEBS 2008中还内嵌了SSL通信技术来保证客户端和服务器端网络通讯的安全。

除了上述的三个方面的安全之外,在EWEBS 2008中,管理员还可以轻松的对客户端进行控制,可以根据用户帐号、访问时间、客户端IP地址、客户端MAC地址、客户端机器特征码(从CPU、主板、硬盘等硬件计算而来)等来限制客户端对应用程序的访问,从而做到即使用户帐号信息泄露,第三方也无法盗用应用程序,有效的保证了用户关键应用和数据的安全。
另外,团IDC网上有许多产品团购,便宜有口碑
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-26
说到底就是连接数据库的问题
主要用到的ado对象有sqlconnection,sqlcommand,sqldatareader等。
具体你可以上网搜搜,很多示例的,具体遇到问题时再HI我解决也可以的。

using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient; //这是连接SQL Server数据库要用到的命名空间
namespace MyTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
SqlConnection MyConn = new SqlConnection("server=.;database=northwind;uid=sa;pwd=123456");
//建立连接,分别对应服务器,数据库,数据库登录名,密码
SqlCommand MyComm = string.Format("select top 1 1 from region where username='{0}' and password='{1}'", txtUserName.Text, txtPwd.Text);
//SQL 语句命令,查询是否存在有用户名和密码都与登录框里相同的记录
try
{
MyConn.Open();
if (MyComm.ExecuteNonQuery() == 1)
{
//登录成功
//显示其它页面
}
else
{
MessageBox.Show("用户名或密码错误!");
}
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}

}
}本回答被提问者采纳
第2个回答  2011-04-26
您描述的不太详细,俺大致回答以下:

1,登录时验证,c/s程序登录时自然可以验证,这个就不多说了
2,在重要操作过程中验证,根据本地存储的登录信息(比如userID,userName等),调用远程服务器验证接口(web services或者其它)进行实时验证。这样对于帐号的控制就可以实时了。

需要具体案例您可以联系我。
第3个回答  2011-04-26
在你填完账号的时候触发一个事件(好像是Textchanged事件,太久没用了,忘了,但绝对有一个事件可用的),然后再事件里去数据库查询验证
第4个回答  2011-04-26
用SqlCommand.ExecuteScalar()方法
public object Scalar(string sSql)
{
object obj = null;
objConnection = GetConnect();
objCommand = new SqlCommand(sSql, objConnection);
try
{
objConnection.Open();
obj = objCommand.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
objConnection.Close();
}
return obj;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网