djangosaml2 패키지를 사용하여 SAML 어설 션을 통해 기본 Django/pysaml2 통합을 성공적으로 구현했습니다. 성공적인 인증을 기반으로 사용자가 동적으로 생성됩니다. 이제 내 맞춤 속성의 짧은 목록을 내 Django 1.6 "extended" user model에 삽입하고 싶습니다. 나는 제공 장고 신호를 사용한다 :Django SAML 사용자 정의 사용자 속성 및 신호 저장
djangosaml2 문서 상태 (https://pypi.python.org/pypi/djangosaml2#user-attributes 참조) : 당신이 을들을 수 있습니다 장고 신호를 제공 djangosaml2 이러한 경우에 대한
.... 당신이 당신의 응용 프로그램에 다음 코드를 추가 할 수 있습니다 그렇게하기 위해서는 : 여기
from djangosaml2.signals import pre_user_save
def custom_update_user(sender=user, attributes=attributes, user_modified=user_modified)
...
return True # I modified the user object
내 질문이 있습니다 : 나는 위의 신호 코드를 삽입 할
- 은?
- 확장 사용자 모델이 이와 같이 보이면 확장 사용자 모델에서 직원 ID를 설정하도록 어떻게 지정합니까?
models.py 신호 방식의 대안이 this pull request 및 settings.py
코드를 사용하는 것이다
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.OneToOneField(User)
employee_id = models.CharField(blank=True,max_length=150)
위대한 솔루션 @Bula! 확장 된 사용자 프로필이 이미 존재하면 솔루션이 잘 작동하지만 SAML_CREATE_UNKNOWN_USER가 True 인 경우 djangosaml2 패키지가 사용자를 만들지 만 프로필을 만들지는 않습니다. 나는이 [article] (http://stackoverflow.com/questions/1910359/creating-a-extended-user-profile)와 비슷한 프로젝트에서 post_save 신호를 사용하여이 문제를 해결했다. –
감사합니다 @DerekNutile,이 솔루션은 당신에게 유용했기 때문에 기쁩니다. – Bula