2013-02-25 2 views
0

Я использую модуль аутентификации LDAP для входа в мое приложение django. Это прекрасно работает для входа в систему, но у меня возникли проблемы с функцией, которые используют'S:Django LDAP Authentication in Production

request.user.is_authenticated(): 

Это прекрасно работает на моем Dev машины (также с помощью LDAP), но и на производстве не будет возвращать информацию, связанную с пользователем , В частности, я получаю набор событий на основе первичного ключа пользователя.

eventList = Event.objects.filter(employee_id = request.user.pk) 

События существуют (они отображаются в другом виде), и я уверен, что это одно утверждение. Стоит отметить, что, хотя я суб-классифицироваться пользователя следующим образом, но сотрудники будут созданы (я проверил в интерфейсе администратора):

class Employee(models.Model): 
    # This field is required. 
    user = models.OneToOneField(User) 
    manager_id = models.ForeignKey('self', related_name = 'employees', null = True) 

    def __unicode__(self): 
    return self.user.username 

def create_user_profile(sender, **kwargs): 
    """When creating a new user, make an employee profile too.""" 
    u = kwargs["instance"] 
    if not Employee.objects.filter(user = u): 
     Employee(user=u).save() 

post_save.connect(create_user_profile, sender = User) 

Может кто-нибудь помочь?

+0

Какую ошибку вы получаете? – reptilicus

+0

Собственно, теперь вы упоминаете об этом, шаблон возвращается, но он пуст. Итак, я предполагаю, что проблема связана с запросом? –

+0

Я не думаю, что вам нужно переделать запрос в виде списка, это должен быть список, который возвращается из ORM Django. Попытайтесь удалить это и посмотреть, что произойдет? – reptilicus

ответ

0

Это было по моему запросу. В основном исходный запрос предполагал, что каждый объект Employee и User имеет тот же PK. Это было нормально в разработке, но не работало в производстве, поскольку ключи не совпадали.

Замена исходного запроса с одной ниже разрешенных вещей:

сообщения
employee = request.user.employee 
    eventList = Event.objects.filter(employee_id = employee.pk)