I will describe how I solved "making my own authentication form" :-) Well my product is based in folders, and I need when create a instance of my product automagically create a user folder, a cookie mecanism and the login forms, but I don't want to touch the cookie crumbler login forms... I will do that: from Products.CookieCrumbler.CookieCrumbler import CookieCrumbler, manage_addCC class MyProduct(Folder): ..... def create_user_logins(self): """ Create the user login forms, etc...""" # Create the built-in user folder self.manage_addUserFolder() # create the Cookie Crumbler product instance, by default it # doesn't create login forms manage_addCC(self,'Cookies') # Example. How to create a user from an external method self.acl_users.userFolderAddUser('exuser','exuser',['Manager'],'') # Create our login forms self.create_login_forms() def create_login_forms(): addDTML(self, 'login_form','Pantalla de acceso', 'dtml/login_form') addDTML(self, 'logged_in', 'Pantalla de inicio', 'dtml/logged_in') addDTML(self, 'logged_out', 'Pantalla de salida','dtml/logged_out') #Piece of code from Squishdot :-) file_path=Globals.package_home(globals()) def addDTML(obj, id, title, file): f = open(file_path + '/' + file + '.dtml') file = f.read() f.close() obj.manage_addDTMLMethod(id, title, file) return getattr(obj, id) Inside my dtml directory I have three methods: login_form, logged_in, logged_out, in this moment are the login forms that comes with Cookie Crumbler product, but you can put all that you want... I hope that this howto help you... -- Microsoft merges technologoies: Windows CE + Windows ME + Windows NT = Windows CEMENT ---- Antonio Beamud Montero Agora Systems S.A. http://www.agoratechnologies.com