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文件中。

C#Web服务的登录屏幕问题

错误很明显:您试图连接到的数据库的连接字符串中提供的登录名无效。用户不存在,或者他们没有应用于目录的权限,或者密码不正确,等等。

解决此问题的方法是检查数据库,确认用户详细信息,并相应地将其应用于连接字符串中。

由于添加了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;"; }
}
}

您可以有一个以服务器、用户名和密码为参数的方法。