0

入力したパスワードを使用したネットワーク ログインがあるかどうかをデータベースにチェックインするためのコードを作成するにはどうすればよいでしょうか。「Global.asax」でこれを行っています

皆さん、ありがとうございました!

編集:私が書こうとしたコード

        SqlCommand comando = new SqlCommand("Select * from Usuario where  = @UserID", conexao);
        comando.Connection = conexao;
        SqlParameter param = new SqlParameter();
        param.ParameterName = "@UserID";
        param.Value = login;
        comando.Parameters.Add(param);

私はこのようなことをしましたが、Active Directory を使用しています。見てみな:

タスクは、ネットワーク ログインがあるかどうかを Active Directory で確認することでした。

        try
        {

            using (var entry = new DirectoryEntry("LDAP://" + dominio, dominio + "\\" + login, senha))
            {

                using (var directorySearcher = new DirectorySearcher(entry))
                {
                    matricula = TratarLDAPInjection(matricula);

                    directorySearcher.Filter = "(sAMAccountName=" + matricula + ")";

                    SearchResult result = directorySearcher.FindOne();

                    if (result == null)
                    {
                        throw new AguException(string.Format("Não é possível localizar o usuário de matrícula {0} no banco de dados da MyEnterprise.", matricula));
                    }
                }
            }
        }
        catch
        {
          Response.Redirect("~/Erro.aspx");
        }
4

1 に答える 1

0

SQLクエリは次のようになります。

SELECT * FROM Usuario WHERE [username]=@UserId AND [password]=@Password

次に、コードで既に行ったように、値 @UserId と @Password をバインドできます。

([username] と [password] をテーブルの正しい列名に置き換える必要があります)

編集 :

次を使用して結果を取得できます。

SqlDataReader reader = comando.ExecuteReader();
于 2013-05-28T00:33:42.967 に答える