C#Web服务的登录屏幕问题
本文关键字:屏幕 问题 登录 服务 C#Web | 更新日期: 2023-09-27 18:28:27
我试图编写一个包含Web服务的网站代码。我的登录页面代码是:
protected void button_Click(object sender, EventArgs e)
{
DBKariyerBL.User user = new DBKariyerBL.User();
user.UserName = txtKlnAd.Text;
user.Password = txtParola.Text;
if (user.Login(user))
{
Session["LogIn"] = "1";
Response.Redirect("Default.aspx");
}
}
我在业务层的User.cs页面是:
public class User
{
public string UserName { get; set; }
public string Password { get; set; }
SqlConnection conn = new SqlConnection(Util.ConnectionString);
public bool Login(User user)
{
return Convert.ToInt32(SqlHelper.ExecuteScalar(conn, CommandType.Text, "SELECT COUNT(*) FROM Users WHERE UserName=@UserName AND Password=@Password", new SqlParameter[] { new SqlParameter("@UserName", user.UserName), new SqlParameter("@Password", user.Password) })) > 0;
}
}
我的User.asmx页面类似于:
public class User : System.Web.Services.WebService
{
[WebMethod]
public bool Login(DBKariyerBL.User user)
{
DBKariyerBL.User kull = new DBKariyerBL.User();
return kull.Login(user);
}
}
我有一个Util.cs for SQL连接:
public class Util
{
public static string ConnectionString
{
get { return ConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString; }
}
}
当我在本地服务器上运行这个项目时,运行良好,但当我试图将此代码放入测试服务器时,它会给出一个错误页面:
无法打开登录请求的数据库"DenizBankKariyerDB"。登录失败。用户"IIS APPPOOL''DenizKariyer"登录失败。
我被卡住了。我想问题出在我的Util.cs文件中。
错误很明显:您试图连接到的数据库的连接字符串中提供的登录名无效。用户不存在,或者他们没有应用于目录的权限,或者密码不正确,等等。
解决此问题的方法是检查数据库,确认用户详细信息,并相应地将其应用于连接字符串中。
由于添加了integrated security=true,sql server使用当前Windows帐户凭据进行身份验证。您想要使用的是表单中的用户名和密码。
因此,不要使用配置中的连接字符串,而是尝试使用类似的内容。
public class Util
{
public static string ConnectionString
{
get { return "Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"User id=UserName;" +
"Password=pwd;"; }
}
}
您可以有一个以服务器、用户名和密码为参数的方法。