Web2py + MS SQL Server 2008 R2 + Аутентификация LDAP Приложение HelloWorld? - PullRequest
2 голосов
/ 01 ноября 2011

Я уже некоторое время использую Web2py в удивительной среде * nix вместе с RDMS с открытым исходным кодом (MySQL, Postgre, SQLLite и т. Д.) Для моих личных проектов.

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

Я планировал разработать приложение на web2py и развернуть его на стандартном ракетном сервере.НО я застрял с DAL.Я попробовал адаптеры pyodbc, mssql, mssql2 и все обходные пути, которые люди делали в Google Group и на других форумах.

Мои подробные сведения о среде производства и развертывания:

O / S: MS WindowsServer 2008БД: MS SQL Server 2008 R2 (размещен по локальной сети и с аутентификацией Windows, а не аутентификацией SQL)Python: 2,7WebServer: IIS 7.0 в идеале, но я могу работать на Rocket.

Существует ли какое-либо руководство по применению HelloWorld, которое охватывает следующие темы:

  1. Аутентификация домена Windows с ролями пользователей в Web2py
  2. Web2py-to-MSSQLServer2008R2 DAL
  3. Развертывание Web2py-IIS7.0

Если кто-то может мне помочь, я могу опубликовать это как устройство web2py, как только я закончу.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2011

Да, Джэй прав на часть LDAP. Мне пришлось внести одну модификацию в метод входа ldap_auth.py, чтобы он работал на нашем домене, но, похоже, не всем это нужно. См. https://groups.google.com/forum/?pli=1#!searchin/web2py/LDAP/web2py/jyFl1CXUy0s/TXld4CEdlEcJ. Существует также (очень простое) практическое руководство по http://www.web2pyslices.com/slices/take_slice/145

DAL Web2py прекрасно работает с MSSSQL 2008 R2, для меня просто поместите соединение в models.py

#tell the dal where your MSSQL db is
db = DAL('mssql://username:password@db_server/database_name')

НО я использую аутентификацию SQL Server, а не аутентификацию Windows. При проверке строки подключения pyodbc docs похоже, что это возможно сделать, добавив Trusted_Connection = yes в строку подключения - я еще не пробовал сам и может потребовать изменения в gluon / dal.py

И определите свои таблицы - обратитесь к официальной документации http://web2py.com/book/default/chapter/06

Я не знаю о части IIS - она ​​несколько раз поднималась в web2py группе Google , и есть практические рекомендации по http://www.web2pyslices.com/slices/take_slice/128, которые могут быть полезны. Лично я просто запускаю web2py под Apache даже под Windows.

Я бы настоятельно рекомендовал спросить в группе google web2py , вы получите гораздо больше внимания.

0 голосов
/ 01 ноября 2011

Это частичный ответ, он касается только аутентификации с использованием Active Directory (я предполагаю, что она такая же или похожа на аутентификацию домена).Я не эксперт по Windows, но мне помог местный администратор Windows.Это код, который я поместил в файл db.py для этого приложения в web2py.

if localauth:
    # I set localauth to 1 when using the app on my home lan, else 0
    # I am a consultant and not always connected to the client VPN
    # FYI, I do have a db of same type and name with same user/pw at home
    # in this case use the basic login that comes as default with web2py
    pass
else:
    from gluon.contrib.login_methods.ldap_auth import ldap_auth
    auth.settings.login_methods = [ldap_auth(mode='ad',
                                             server='<server ip address>',
                                             base_dn='<base_dn>')]
    # the above line forces active directory to be the ONLY authentication method
# my base_dn looked like this: 'OU=<ou>,DC=<subdomain>,DC=<domain>,DC=<tld e.g. com, net, edu, etc.>'
# an active directory knowledgeable person can help you here

Jay

...