2014-05-15 8 views

답변

4

: 당신이 당신의 자격 증명을 설정하려면

, 당신과 비슷한 시동 조치를 작성해야합니다.

MCHTTPRepository>>userAndPasswordFromSettingsDo:에는 자격 증명을 사용하는 기계가 이미 있습니다. 그것은 사전을 찾을 것으로 예상되는 클래스 변수 MCRepository.Settings에서 그들을 찾는다. 불행히도 클래스 변수는 결코 이미지의 어느 곳에서도 설정되거나 참조되지 않습니다. 또한 접근 자도 없습니다.

따라서, 우리는 Settings에 대한 접근 방법을 가지는 클래스를 패치하고 시작 스크립트에서 계정 정보를 설정합니다

StartupLoader default executeAtomicItems: { 
    StartupAction 
     name: 'Accounts' 
     code: [ 
       Author fullName: 'AuthorName'. 
       MCRepository class compile: 'settings ^Settings ifNil: [ Settings := Dictionary new.]'. 
       MCRepository settings 
        at: 'account1' 
        put: '*smalltalkhub.com* username:password' ] 
     runOnce: true 
} 

@ UKO의 예와 같이, 스크립트는 ~/Library/Preferences/pharo에에 있어야합니다.

+1

나는이 솔루션을 좋아합니다. 새로운 #settings 메소드를 생성 할 필요조차 없으며'#classVarNamed : put :'을 사용하여 Settings에 할당 할 수 있습니다. –

+0

감사합니다. Damien! 접근 자없이 해당 변수에 액세스하는 방법이 있어야합니다. :) – mircealungu

4

챠오 미르는

그래서 당신은 here 가능한 내 요지를 스크립트 personal.st를 사용할 수있는 저자의 이름을 설정합니다. 이것은 내가 결국 발견 된 솔루션입니다

MCRepositoryGroup default repositories 
    select: [:each | 
    (each isKindOf: MCHttpRepository) and: 
    [each location includesSubstring: 'smalltalkhub.com' ]] 
    thenDo: [ :repo | 
    repo 
     user: 'your_user_name'; 
     password: 'your_secret_password' ] 
+0

감사합니다. @Uko. 솔루션은 해당 이미지에 이미 정의되어있는 repos 만 패치합니다. 새 저장소를 추가하면 여전히 해결책이 아닙니다. – mircealungu

3

실제로 모든 자격 증명을 삭제하는 기능이 있으면 좋을 것입니다. 이미지를 다른 사람들에게 보냈을 때 비밀번호가없는 경우 유용합니다.

또한 변경 사항 파일에 암호가있을 수 있다는 측면이 있습니다. 어떻게 처리 할 수 ​​있는지 궁금합니다.

관련 문제