how to use single login page for users in four models

397 views
Skip to first unread message

ram kris

unread,
Jul 5, 2013, 9:20:52 AM7/5/13
to rubyonra...@googlegroups.com
how to use single login page for users in four models

--
Posted via http://www.ruby-forum.com/.

Robert Walker

unread,
Jul 5, 2013, 1:13:55 PM7/5/13
to rubyonra...@googlegroups.com
ram kris wrote in post #1114502:
> how to use single login page for users in four models

You have not given enough detail in your question to know what you're
asking.

Are you saying that you have four different types of users? If so then
why do you have four models instead of doing role based authorization
having only one user model?

If you really do have four different types of user then you might want
to consider Single-Table-Inheritance (STI). I seriously doubt you need
to go to this extreme though.

I can't give you a definitive answer from such an abstract question.
There are many ways to solve a problem, but you haven't even described
the problem you're trying to solve.

mack gille

unread,
Jul 9, 2013, 9:14:06 AM7/9/13
to rubyonra...@googlegroups.com
Robert Walker wrote in post #1114535:
@Robert Walker plz clarify me

i have face the same problem.i have two models employee(having 6 input
fields),client(having 12 input fields),i need to authenticate them using
devise.what i have to do single sign in form for both if it is solution
let me know how is this,else by using two devises or any solution let me
know

thankyou @Robert Walker

mack gille

unread,
Jul 9, 2013, 9:17:26 AM7/9/13
to rubyonra...@googlegroups.com
Robert Walker wrote in post #1114535:
@Robert Walker plz clarify me

i have face the same problem.i have two models employee(having 6 input
fields),client(having 12 input fields),i need to authenticate them using
devise.what i have to do single sign in form for both if it is solution
let me know how is this,else by using two devises or any solution let me
know

thankyou @Robert Walker

Walter Lee Davis

unread,
Jul 9, 2013, 10:13:13 AM7/9/13
to rubyonra...@googlegroups.com
The simplest thing of all would be to have a single "User" model and a has_one sidecar model for the Client's extra fields. That way you can have just one set of login / logout paths and not worry about the logged-in person's underlying class. Using CanCan to manage the authorizations, you can allow an employee to see or do things that a client cannot, and vice-versa. Storing the "what kind of user this is" attribute in a column and switching permissions on that value is one of the simplest things to do in a multi-role application using CanCan. I recommend a quick read of the Wiki on that GitHub project.

Walter

>
> --
> Posted via http://www.ruby-forum.com/.
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/0c9edc0239e351fceaf14a22358d1425%40ruby-forum.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Tamara Temple

unread,
Jul 10, 2013, 1:19:32 AM7/10/13
to rubyonra...@googlegroups.com
This is probably me just being crazy, but why have so many devise tables? You may indeed have different user types, but if they all need to log in, then why not have a single User table that handles the authentication that is common to all types? Do you really need different methods of logging your various types of users in? You can either then have different models for the 4 types, but they can all either inherit from User (which is the single table inheritance thing) -or- they can be separate models with their own relationships and such to the User table you use for authentication.

If you really want to think about it, you don't need to make this part of you application at all, and use Devise as a completely separate Rails Engine with it's own models. All your application needs to deal with is authenticated users, and none of the business of actually authenticating them.



mack gille

unread,
Jul 10, 2013, 2:06:18 AM7/10/13
to rubyonra...@googlegroups.com
@ Walter Davis thankyou
can you give me the sample code or any link.I did not get any resource
plz let me know.
Thank you

Walter Lee Davis

unread,
Jul 10, 2013, 10:26:45 AM7/10/13
to rubyonra...@googlegroups.com

On Jul 10, 2013, at 2:06 AM, mack gille wrote:

> @ Walter Davis thankyou
> can you give me the sample code or any link.I did not get any resource
> plz let me know.
> Thank you
>

Here. Watch some movies. http://railscasts.com/episodes?utf8=✓&search=cancan

Walter

> --
> Posted via http://www.ruby-forum.com/.
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/a853a21b00c4c2b14999521c65102be2%40ruby-forum.com.
Reply all
Reply to author
Forward
0 new messages