3
저는 MS SQL에 너무 익숙하지 않아서 매우 어리석은 질문인데 죄송 합니다만, Intenet에서는 그 정보가 없습니다.SQL 로그인을 매개 변수로 전달하십시오.
그래서, 난 그냥 로그인을위한 SQL 로그인 및 SQL 사용자를 만들려고 해요 그리고 그런 간다 :
SqlCommand CreateDatabaseUser = new SqlCommand("CREATE LOGIN @NewUserLogin " +
"WITH PASSWORD = '@NewUserPassword' " +
"CREATE USER @NewUserLogin FOR LOGIN @NewUserLogin", AddUserConnection);
CreateDatabaseUser.Parameters.AddWithValue("@NewUserLogin", NewUserLoginTextbox.Text);
CreateDatabaseUser.Parameters.AddWithValue("@NewUserPassword", PasswordTextbox.Text);
AddUserConnection.Open();
CreateDatabaseUser.ExecuteNonQuery();
내가 Incorrect syntax near '@NewUserLogin'
말하는 오류가 발생하지만, 내가 할 경우 잘못된 및 안전하지 않은 방법 :
"CREATE LOGIN " + NewUserLoginTextbox.Text +
" WITH PASSWORD = '" + PasswordTextbox.Text + "'" +
" CREATE USER " + NewUserLoginTextbox.Text + " FOR LOGIN " + NewUserLoginTextbox.Text
그렇다면 작동하지 않습니다.
그래서 나는 그곳에서 일하는 것을 알아 내고 싶습니다. 미리 감사드립니다!
빠른 답장을 보내 주셔서 감사합니다. DDL 성명서를 다루는 올바른 방법은 무엇입니까? – Stutz
@Stutz SQL 주입 공격을 피하기 위해 SQL에 입력하기 전에 사용자 이름과 암호에 대해 _ 매우 very_ 엄격한 유효성 검사를 수행하거나 유효한 사용자 이름과 암호의 허용 목록 집합을 가져야합니다. –
다시 한번 감사드립니다! 당신은 매우 도움이되고 있습니다! :) 너는 C#으로 그것을 검증 할 수있는 내장 도구가 있기를 바라고 있었다. .. Welp, 내가 수동으로해야한다고 생각해! – Stutz