I just bumped into this situation also, my case is students and employers, when I register employers I want to have "auth.settings.registration_requires_approval = True" and a different profile, but students can just register without requiring approval from admin
On Saturday, April 13, 2013 11:24:44 AM UTC-7, Anthony wrote: > > Interesting use case -- I think cases like that have come up before (i.e., > where different roles need different types of profiles). May be worth > supporting somehow, but not sure about the best approach. > > For now, you might consider putting all the profile fields in the > auth_user table, and just selectively make some readable/writable depending > on which registration/profile action is being used. Alternatively, you > could create separate tables that are simply linked to the auth_user table. > Either approach will require creating somewhat customized register and > profile actions, but that shouldn't be too difficult, and other than that, > I'm not sure there's much else to worry about. > > If you want to use separate applications, they can share a database, > though it's trickier to share model definitions (you could put them in > modules and import, or use the auto-import method) -- for more, see > http://web2py.com/books/default/chapter/29/06#Using-DAL-without-define-tables. > > I'm not sure I would create separate apps just for the sake of this Auth > issue, but if it makes sense otherwise to have separate apps, they can > share databases. > > Anthony > > On Saturday, April 13, 2013 1:53:47 PM UTC-4, David Ripplinger wrote: >> >> Okay, that makes sense. It might not be worth modifying web2py for this >> behavior when there may be a cleaner way of doing it. I had considered >> using the inherent roles and permissions, but there are several reasons why >> this would be awkward for my particular case. The main reason is that I >> overload the auth_user table with lots of data about a particular user. The >> fields I include are completely different for a regular user as opposed to >> a partner. I don't want a regular user, upon registration, to automatically >> have partner features or vice versa. In the uncommon case that someone >> wants both, I would want them to sign up for the two kinds of accounts >> separately. I also, in that case, want the ability for there to be a user >> account and a partner account both with the same email address, but I don't >> want two user (or partner) accounts to have the same email. >> >> Ideally, I would put the partners portal under a different subdomain so >> that the two aspects of the app are very much separated. For this reason, >> I'm really leaning toward running two web2py apps and giving both access to >> each other's databases and possibly expose a couple functions for them to >> communicate. But I don't know if web2py is designed to do this either. >> >> On Saturday, April 13, 2013 1:18:00 PM UTC-4, Anthony wrote: >>> >>> I think the problem is that Auth creates an object called "auth" in the >>> session, and the name of this session object is fixed. So, once someone >>> logs in with one of your Auth instances, the other instance will pull the >>> "auth" object from the session and think they are logged in with that >>> instance as well. I suppose we could add the ability to customize the name >>> of the session object to avoid this problem (though not sure there wouldn't >>> be other problems with this approach). Anyway, this is exactly what the >>> roles and permissions aspects of the Auth system are designed to address. >>> Why not just create "user" and "partner" roles and use >>> @auth.requires_membership(...)? >>> >>> Anthony >>> >>> On Saturday, April 13, 2013 12:32:36 PM UTC-4, David Ripplinger wrote: >>>> >>>> In my project, it makes a lot of sense to have two separate databases: >>>> one for the users of the app and another for partners who pay to advertise >>>> to those users. The data they manipulate are completely different sets. I >>>> have created an auth object (named auth) for the users database (called >>>> db) >>>> and another auth object (named authp) for the partners database (called >>>> dbp). I want all users stuff to be under the url myapp/default and all >>>> partners stuff to be under the url myapp/partners. >>>> >>>> The problem is that the app is mixing the two types of user accounts >>>> together in two ways: >>>> >>>> 1. If I create a user account and a partner account with the same >>>> credentials, then signing into one allows access to the pages >>>> restricted by >>>> the other (and yes, I changed the decorators to @authp instead of @auth >>>> for >>>> the partners pages). This is especially bad without email verification >>>> (which I have not implemented yet), since someone can register as a >>>> partner >>>> under the same email as an already existing regular user but with a >>>> different password. This would allow someone else to hack the user's >>>> account. >>>> 2. All the redirects are messed up. Usually, after registering or >>>> signing in, unless the URL specifies a different redirect explicitly, >>>> things always redirect back to the user account and never to the >>>> partner >>>> account page. >>>> >>>> How should I be handling this properly? Any tips for having two very >>>> different types of users are much appreciated. >>>> >>>> An alternative I would be happy with is actually making two separate >>>> apps, but I'm not sure how to exchange some database information between >>>> them. Can one app access the database of another app? Does it matter if >>>> I'm >>>> currently using sqlite? >>>> >>> -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

