"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 동적으로 사용자 이름을 전달하여 SQL 로그인 메소드를 만듭니다

동적으로 사용자 이름을 전달하여 SQL 로그인 메소드를 만듭니다

2025-04-19에 게시되었습니다
검색:193

How Can I Create SQL Logins with Dynamically Passed Usernames?

문제는 로그인을 생성한다는 사실이 매개 변수화 된 값과 달리 문자 적 ​​사용자 이름을 기대한다는 사실에서 비롯됩니다. 이 제한을 우회하기 위해 Justin은 동적 SQL 기술을 사용할 수 있습니다.

Dynamic SQL 접근

Justin은 다음과 같이 선언 및 실행 문을 사용하여 동적으로 로그인 명령문을 만들 수 있습니다. quotename (@password, '' '); exec (@sql)

이 코드에서 :

선언문은 login 문을 변수 @sql에 할당합니다. Quotename 함수를 사용하여 사용자 이름과 암호 값을 인용하면 SQL 주입 공격을 방지하는 데 도움이됩니다.
DECLARE @sql nvarchar(max) = 'CREATE LOGIN '   quotename(@username)   ' WITH PASSWORD = '   quotename(@password, '''');
EXEC(@sql)

exec 문은 @SQL에 저장된 동적 SQL을 실행합니다. 오류.

    결론
  • 동적 SQL을 사용하면 매개 변수 대신 리터럴 값이 필요한 SQL 문으로 작업 할 때 솔루션을 제공합니다. 이 기술을 수용함으로써 저스틴은 저장된 절차 내에 테넌트 로그인을 자신있게 만들어 테넌트 관리 프로세스를 자동화하고 SAAS 데이터베이스 관리를 간소화 할 수 있습니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3