2

SQL Server ログインをプログラムでロックする必要があります。目標は、SQL の自動機能をエミュレートして、間違ったパスワードで何度も接続を試みるユーザーをロックアウトすることです。

ログインのロックを簡単に解除できますが、ロックも必要です。

無効なパスワードを含む.NET で 20 回ループを試みましたが、sqlConnection非常に一貫性のない結果が得られました。

4

1 に答える 1

2

SqlConnetionクライアントの使用:

using (var con = new SqlConnection(MyConnectionString))
{
    con.Open();
    var cmd = new SqlCommand("ALTER LOGIN [Username] DISABLE", con);
    cmd.ExecuteNonQuery();
}

sysadmin別の方法として、(ユーザーがロールのメンバーでない限り) 接続するためのアクセス許可をユーザーに拒否することもできます。masterこれを行うには、サーバー レベルの権限であるため、データベースに接続する必要があることに注意してください。

using (var con = new SqlConnection(MyConnectionStringToMasterDatabase))
{
    con.Open();
    var cmd = new SqlCommand("DENY CONNECT SQL TO [Username]", con);
    cmd.ExecuteNonQuery();
}
于 2012-07-02T20:51:25.797 に答える