我认为这很简单,但我似乎无法弄清楚。我想要 ac# 表单询问用户名和密码。然后我想通过询问 SQL 用户帐户是否可以登录到 SQL 数据库来验证用户。我尝试了一种基本方法,只需将用户名和密码放在连接字符串中,但这不起作用,我收到一条错误消息“用户某某无权访问”我是假设是因为密码没有正确传递。这就是我所拥有的:
网络配置:
<connectionStrings>
<add name="connectionname"
connectionString="Data Source=myserver;Initial Catalog=mydb;Integrated Security=SSPI;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<identity impersonate="true" />
....
我的代码背后:
try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=myserver;Initial Catalog=mydb;User ID=" + useridTextBox.Text + ";Password=" + passwordTextBox.Text;
con.Open();
con.Close();
//successful login
validDBLogin = true;
pageMsg.Text = "Successful AD and DB login";
}
catch (Exception err) //if error Opening, catch the error, and display
{
pageMsg.Text = "No access to the Database";
pageMsgAdditional.Text = err.Message.ToString();
validDBLogin = false;
}
必须有办法做到这一点?我的目标是使用 SQL 完成身份验证。如果用户想要访问,我让他们访问数据库,这就是我所要做的。我还希望以这种方式集成安全性,以便我可以跟踪哪个用户运行了哪个 sql 查询。(不确定这是否有区别,但我们正在为这些帐户使用 Active Directory,到目前为止没有任何问题)。
提前致谢!