0

저는 django-tenant-schema (및 postgresql)를 사용하여 다중 테넌트 응용 프로그램을 작성 중입니다. 이제 새로운 스키마가 생성되는 즉시 call_command를 사용하여 수퍼 유저를 만듭니다. 나는 또한 post_migrate 신호를 사용하는 옵션을 생각했다.각 스키마 django로 수퍼 유저 자동 생성

의심 스럽지만 쉘에서 암호를 입력하지 않고 수퍼 유저를 자동으로 만들 수 있습니까? 유스 케이스는 사용자가 자신의 스키마에 등록하자 마자 수퍼 유저가 생성되고 사용자는 수퍼 유저 아이디와 비밀번호로 로그인하고 그 이후에 비밀번호를 변경할 수 있습니다. ,, 꾸물 거리지이 허용 경로를하지 이잖아 장고의 createsuperuser.py 파일을 변경하고 거기에 자동 통해 암호를 제공하는 문제를 해결하기 위해

call_command('createsuperuser', schema_name=self.schema_name, username='admin', email='[email protected]') 

한 방법입니다 :

은 내가 createsuperuser 명령을 호출하려면 다음을 사용하고 있습니다 즉, 유스 케이스에 대한 소스 코드를 작성하는 것이다. 좀 더 나은 방법

답변

0

를 요청 시겠어요 새로운 수퍼 유저 암호를 "준비"를 비난하는 MD5 값을 전달할 수 있습니다?

a=# select md5('some password'||'test');; 
       md5 
---------------------------------- 
d5b3eb515b64edf295b2ee9062946d24 
(1 row) 

a=# create user test superuser password 'md5d5b3eb515b64edf295b2ee9062946d24'; 
CREATE ROLE 

그래서 당신이 bash는 d5b3eb515b64edf295b2ee9062946d24을 사용할 수 있습니다, 다른 곳에서 암호를 저장하는 ..

+0

U c, 진행하기 전에 사용자가 암호를 변경해야하므로 보안상의 문제는 아닙니다. 하지만 내 문제는 어떻게 bash를 통해 값을 전달할 수 있지만 자동으로 코드를 통해 장고 있습니다. 비밀 번호가없는 수퍼 유저조차도 괜찮습니다. 따라서 처음 로그인 할 때 사용자는 비밀번호 – SG2791

+0

을 입력해야합니다. 로그인 할 때 비밀번호를 강제로 변경하는 방법은 무엇입니까? ... –

+0

죄송 합니다만 명확하지 않으면 죄송합니다. 내 질문은이 암호를 자동으로 Django에 보내는 방법이다. 즉 사용자가 등록 할 때 call_command가 createsuperuser를 호출하지만 명령 줄에서 암호를 묻는 것이다. 명령 줄을 통해서가 아니라 프로그래밍/코드를 통해 자동으로 암호를 보내고 싶습니다. – SG2791

관련 문제