diff --git a/ChangeLog b/ChangeLog index 04969059a..012f73bf1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2007-09-04 Wolfgang Sourdeau + * Main/SOGo.m ([SOGo -authenticatorInContext:_ctx]): choose the + authenticator based on the request handler key. "dav" returns the + SOGoDAVAuthenticator, anything else returns the Web authenticator. + + * SoObjects/SOGo/SOGoDAVAuthenticator.m: renamed module from + "SOGoAuthenticator". + * SoObjects/SOGo/SOGoWebAuthenticator.m: new class module implementing a subclass of SoCookieAuthenticator, designed for web-based cookie authentication of users.m diff --git a/Main/SOGo.m b/Main/SOGo.m index 702297498..52c2a0d76 100644 --- a/Main/SOGo.m +++ b/Main/SOGo.m @@ -41,10 +41,11 @@ #import -#import +#import +#import #import #import -#import +#import #import "build.h" #import "SOGoProductLoader.h" @@ -233,7 +234,16 @@ static BOOL debugObjectAllocation = NO; - (id) authenticatorInContext: (id) _ctx { - return [$(@"SOGoAuthenticator") sharedSOGoAuthenticator]; + id authenticator; + NSString *key; + + key = [[_ctx request] requestHandlerKey]; + if ([key isEqualToString: @"dav"]) + authenticator = [SOGoDAVAuthenticator sharedSOGoDAVAuthenticator]; + else + authenticator = [SOGoWebAuthenticator sharedSOGoWebAuthenticator]; + + return authenticator; } /* name lookup */