>From your description, it seems like you are mixing layers (which will
IMO bite you later).  I would suggest keeping your components as focused
as possible.  When working on this type of problem, I create services
that manage each of the entities in the domain.  I generally separate
user authentication from authorization / entitlement.

Here is some pseudo-code to demonstrate what I'm talking about:

UserService
        - userGateway (table gateway e.g. sets of data)
        - userDAO (manage single object persistence)
        
        getUser(username,password) : UserBean ( userDAO.read(UserBean)
);
        saveUser(UserBean) : Void ( userDAO.save(UserBean) )
        getAll() : Query ( userGateway.getAll() )

UserDAO
        read(UserBean) : UserBean
        save(UserBean) : Void

UserGateway
        getAll() {
                select ... from ...
                return query;
        }

AuthenticationService
        - UserService (access to the user)
        - SessionFacade (access to the session)
        
        processLogin(username,password) : Boolean {
                user = UserService.getUser(username,password);
                return authenticateUser(user);
        }

        authenticateUser(UserBean) {
                log in user.
                if (loggedIn ) {
                        sessionFacade.setUser(UserBean);
                }
                return UserBean;
        }
EntitlementService
        - UserService
        - SessionFacade
        
        getEntitlements(UserBean)
        ...


In this type of a setup, you could create accessors
(setUserFacade/getUserFacade) for each of the composited items and let
CS inject them.

HTH,

Rich Kroll
 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Create robust enterprise, web RIAs.
Upgrade & integrate Adobe Coldfusion MX7 with Flex 2
http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:275081
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to