これは簡単だと思ったのですが、理解できないようです。ユーザー名とパスワードを要求する ac# フォームが必要です。次に、そのユーザー アカウントが SQL データベースにログインできるかどうかを SQL に問い合わせて、ユーザーを検証します。ユーザー名とパスワードを接続文字列に入れるだけの基本的な方法を試しましたが、うまくいきませんでした。「ユーザーはアクセスできません」というエラーメッセージが表示されました。パスワードが正しく引き継がれていないためです。これは私が持っているものです:
Web.config:
<connectionStrings>
<add name="connectionname"
connectionString="Data Source=myserver;Initial Catalog=mydb;Integrated Security=SSPI;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<identity impersonate="true" />
....
私の背後にあるコード:
try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=myserver;Initial Catalog=mydb;User ID=" + useridTextBox.Text + ";Password=" + passwordTextBox.Text;
con.Open();
con.Close();
//successful login
validDBLogin = true;
pageMsg.Text = "Successful AD and DB login";
}
catch (Exception err) //if error Opening, catch the error, and display
{
pageMsg.Text = "No access to the Database";
pageMsgAdditional.Text = err.Message.ToString();
validDBLogin = false;
}
これを行う方法があるはずですか?私の目標は、SQL で認証を行うことです。ユーザーがアクセスしたい場合は、データベースへのアクセスを許可するだけです。また、この方法でセキュリティを統合して、どのユーザーがどの SQL クエリを実行したかを追跡できるようにしたいと考えています。(違いがあるかどうかはわかりませんが、これらのアカウントには Active Directory を使用しており、これまでのところ問題はありません)。
前もって感謝します!