0

Webサービスを含む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);
    }
}

そして、SQL接続用のUtil.csがあります:

public class Util
{

    public static string ConnectionString
    {
        get { return ConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString; }
    }
}

このプロジェクトをローカル サーバーで実行すると正常に動作しますが、このコードをテスト サーバーに配置しようとすると、エラー ページが表示されます。

ログインで要求されたデータベース「DenizBankKariyerDB」を開けません。ログインに失敗しました。ユーザー 'IIS APPPOOL\DenizKariyer' のログインに失敗しました。

私は立ち往生しています。問題は Util.cs ファイルにあると思います。

4

2 に答える 2

0

Integrated security = true を追加したため、SQL サーバーは現在の Windows アカウントの資格情報を認証に使用します。フォームからのユーザー名とパスワードを使用する必要があります。

したがって、構成からの接続文字列を使用する代わりに、このようなものを使用してみてください。

public class Util
  {

public static string ConnectionString
{
    get { return  "Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"User id=UserName;" +
"Password=pwd;"; }
}
}

サーバー、ユーザー名、パスワードをパラメーターとして取るメソッドを持つことができます。

于 2013-08-20T09:05:54.060 に答える
0

エラーは明らかです。接続しようとしているデータベースの接続文字列で指定されたログインが無効です。ユーザーが存在しないか、カタログに適用される権限がないか、パスワードが正しくないなどです。

これを解決する方法は、データベースをチェックし、ユーザーの詳細を確認し、それに応じて接続文字列に適用することです。

于 2013-08-20T08:37:09.100 に答える