Re: [SOGo] Authenticate against a non SOGo database

2011-04-07 Thread Mark Adams
On Thu, Apr 07, 2011 at 01:31:10AM +0200, Darko Hojnik wrote:
 Am 06.04.2011, 23:58 Uhr, schrieb Mark Adams m...@campbell-lange.net:
 
 
 On 6 Apr 2011, at 20:02, Darko Hojnik hoj...@virtualizing.org wrote:
 
 Hi there,
 
 Currently we are using Postfix and DBmail with an LDAP backend.
 SOGo uses this LDAP backend too. In the future we maybe want
 migrate to Apache James as the solution for the mailserver. And
 if we do it, then we want do it without a LDAP Server.
 So I've got an testinstallation with Apache James 3 Milsestone3
 compiled SVN using a PostgreSQL 9 Database. SOGo should be
 installed soon on the next days. We want that SOGo will
 authenticate against the Database from James
 
 
 
 The Database,
 
 james= \dt
   Liste der Relationen
 Schema |   Name   |   Typ   | Eigentümer
 +--+-+
 public | james_domain | Tabelle | james
 public | james_mail   | Tabelle | james
 public | james_mail_header| Tabelle | james
 public | james_mail_property  | Tabelle | james
 public | james_mailbox| Tabelle | james
 public | james_mailbox_membership | Tabelle | james
 public | james_subscription   | Tabelle | james
 public | james_user   | Tabelle | james
 public | james_virtual_user_table | Tabelle | james
 public | openjpa_sequence_table   | Tabelle | james
 (10 Zeilen)
 
 
 
 Select of the table james_user,
 
 james= SELECT column_name FROM information_schema.columns WHERE
 table_name = 'james_user';
   column_name
 -
 user_name
 password_hash_algorithm
 password
 version
 (4 Zeilen)
 
 james=
 
 
 
 Now I'm asking me is that the correct Syntax for SOGoUserSources
 to authenticate against the database from Apache James?
 
 SOGoUserSources =
 (
 {
 type = sql;
 id = directory;
 viewURL = postgresql://james:james@192.168.0.60:5432/james/james_user;
 canAuthenticate = YES;
 isAddressBook = NO;
 userPasswordAlgorithm = md5;
 }
 );
 
 
 thanks for help and suggestions
 
 
 You have to pass the fields from the db to sogo specifically, as
 detailed in the documentation (for example name should be c_name).
 You can achieve this with a view in your db that sogo can call.
 
 best regards
 Darko Hojnik
 --
 users@sogo.nu
 https://inverse.ca/sogo/lists
 
 
 Hello Mark,
 
 After I've taken a look in the manual again, I'm a little bit
 confused because I didn't understand it.So I'm not shore how I have
 to write it correct. It's possible to write me an example for
 viewURL and c_name?
 
 
 kind regards
 Darko Hojnik
 -- 

This is my view, but it obviously only works with my DB. You will need
create the view dependant on the column names in your existing DB...

create view sogo_auth as (select userid || '@' || domain as c_uid,
userid || '@' || domain as c_name, password as c_password, fullname as
c_cn, userid || '@' || domain as mail from users where status in (1,2));

sogo is looking for c_uid, c_name, c_password, c_cn and mail.
-- 
users@sogo.nu
https://inverse.ca/sogo/lists


Re: [SOGo] Authenticate against a non SOGo database

2011-04-06 Thread Mark Adams

On 6 Apr 2011, at 20:02, Darko Hojnik hoj...@virtualizing.org wrote:

 Hi there,
 
 Currently we are using Postfix and DBmail with an LDAP backend. SOGo uses 
 this LDAP backend too. In the future we maybe want migrate to Apache James as 
 the solution for the mailserver. And if we do it, then we want do it without 
 a LDAP Server.
 So I've got an testinstallation with Apache James 3 Milsestone3 compiled SVN 
 using a PostgreSQL 9 Database. SOGo should be installed soon on the next 
 days. We want that SOGo will authenticate against the Database from James
 
 
 
 The Database,
 
 james= \dt
   Liste der Relationen
 Schema |   Name   |   Typ   | Eigentümer
 +--+-+
 public | james_domain | Tabelle | james
 public | james_mail   | Tabelle | james
 public | james_mail_header| Tabelle | james
 public | james_mail_property  | Tabelle | james
 public | james_mailbox| Tabelle | james
 public | james_mailbox_membership | Tabelle | james
 public | james_subscription   | Tabelle | james
 public | james_user   | Tabelle | james
 public | james_virtual_user_table | Tabelle | james
 public | openjpa_sequence_table   | Tabelle | james
 (10 Zeilen)
 
 
 
 Select of the table james_user,
 
 james= SELECT column_name FROM information_schema.columns WHERE table_name = 
 'james_user';
   column_name
 -
 user_name
 password_hash_algorithm
 password
 version
 (4 Zeilen)
 
 james=
 
 
 
 Now I'm asking me is that the correct Syntax for SOGoUserSources to 
 authenticate against the database from Apache James?
 
 SOGoUserSources =
 (
 {
 type = sql;
 id = directory;
 viewURL = postgresql://james:james@192.168.0.60:5432/james/james_user;
 canAuthenticate = YES;
 isAddressBook = NO;
 userPasswordAlgorithm = md5;
 }
 );
 
 
 thanks for help and suggestions
 

You have to pass the fields from the db to sogo specifically, as detailed in 
the documentation (for example name should be c_name). You can achieve this 
with a view in your db that sogo can call.

 best regards
 Darko Hojnik
 -- 
 users@sogo.nu
 https://inverse.ca/sogo/lists
-- 
users@sogo.nu
https://inverse.ca/sogo/lists

Re: [SOGo] Authenticate against a non SOGo database

2011-04-06 Thread Darko Hojnik

Am 06.04.2011, 23:58 Uhr, schrieb Mark Adams m...@campbell-lange.net:



On 6 Apr 2011, at 20:02, Darko Hojnik hoj...@virtualizing.org wrote:


Hi there,

Currently we are using Postfix and DBmail with an LDAP backend. SOGo  
uses this LDAP backend too. In the future we maybe want migrate to  
Apache James as the solution for the mailserver. And if we do it, then  
we want do it without a LDAP Server.
So I've got an testinstallation with Apache James 3 Milsestone3  
compiled SVN using a PostgreSQL 9 Database. SOGo should be installed  
soon on the next days. We want that SOGo will authenticate against the  
Database from James




The Database,

james= \dt
  Liste der Relationen
Schema |   Name   |   Typ   | Eigentümer
+--+-+
public | james_domain | Tabelle | james
public | james_mail   | Tabelle | james
public | james_mail_header| Tabelle | james
public | james_mail_property  | Tabelle | james
public | james_mailbox| Tabelle | james
public | james_mailbox_membership | Tabelle | james
public | james_subscription   | Tabelle | james
public | james_user   | Tabelle | james
public | james_virtual_user_table | Tabelle | james
public | openjpa_sequence_table   | Tabelle | james
(10 Zeilen)



Select of the table james_user,

james= SELECT column_name FROM information_schema.columns WHERE  
table_name = 'james_user';

  column_name
-
user_name
password_hash_algorithm
password
version
(4 Zeilen)

james=



Now I'm asking me is that the correct Syntax for SOGoUserSources to  
authenticate against the database from Apache James?


SOGoUserSources =
(
{
type = sql;
id = directory;
viewURL = postgresql://james:james@192.168.0.60:5432/james/james_user;
canAuthenticate = YES;
isAddressBook = NO;
userPasswordAlgorithm = md5;
}
);


thanks for help and suggestions



You have to pass the fields from the db to sogo specifically, as  
detailed in the documentation (for example name should be c_name). You  
can achieve this with a view in your db that sogo can call.



best regards
Darko Hojnik
--
users@sogo.nu
https://inverse.ca/sogo/lists



Hello Mark,

After I've taken a look in the manual again, I'm a little bit confused  
because I didn't understand it.So I'm not shore how I have to write it  
correct. It's possible to write me an example for viewURL and c_name?



kind regards
Darko Hojnik
--
users@sogo.nu
https://inverse.ca/sogo/lists