#21 new
Daniel Bond

Support for non-admin users (roles)

Reported by Daniel Bond | July 17th, 2008 @ 12:52 AM | in 0.5

Feather owners might want to require users to login before writing a comment, or doing other cool stuff. Feather has a User-model, and a authentication-system that works great, so why reinvent the wheel?

This could help creating plugins like OpenID provider/consumer, and other goodies.

A approach is to implement a "role"-field to the User-model, and create some new methods and checks, for separating admins and users.

There would have to be in place proper checks, so only admin can modify Admin-related functions, and some plugins might require modification. Users should perhaps have some kind of User-dashboard, which plugins could extend.

Anyway, I forked the Feather-project on Github, and created a working concept of my thoughts:

http://github.com/bond/feather/c...

Comments and changes to this ticket

  • Alexander Flatter

    Alexander Flatter July 17th, 2008 @ 07:25 PM

    Hi there,

    Your fork seems to be empty?

  • Daniel Bond

    Daniel Bond July 17th, 2008 @ 09:19 PM

    Sorry about that, something was wrong with github, so I deleted/recreated the repo and pushed my changes to it.

  • Alexander Flatter

    Alexander Flatter July 18th, 2008 @ 06:35 AM

    • Assigned user set to “Michael Leung”

    Looks good, I like it. More fine-grained permission checks could be implemented later.

    Michael, what do you think?

  • Elliott Draper

    Elliott Draper July 18th, 2008 @ 05:37 PM

    • Milestone set to 0.5

    I think this is something we should look to wrap up and stabilize as part of 0.5, I like it and think it'll be very useful. We are continuing to discuss this in IRC, and we'll roll it in as and when Daniel thinks he has something that is ready to go.

    Incidentally, I've created "edge" branches in both core and plugins, so we should probably try to sync up this code with that, as this will probably be best running off of the merb-auth slice that TheWordNerd implemented. That currently only runs on Merb edge (until 0.9.4 hits which includes merb-slices).

  • Daniel Bond

    Daniel Bond July 19th, 2008 @ 10:24 PM

    I created a branch of your "edge" branch, called "edge-db", which I've based the same implementation on: http://github.com/bond/feather/c...

    Since merb-auth is a seperate project under feather, I've forked it too, and sent a pull-request: http://github.com/bond/merb-auth...

    We still need to create some kind of dashboard for the users to set properties and hook plugin-stuff in, but we'll discuss that further if the merb-auth stuff goes through.

  • Alexander Flatter

    Alexander Flatter July 20th, 2008 @ 09:12 AM

    AFAIK slices are thought to be extended in their host application, so that there is no need to modify merb-auth.

    merb-auth is a gem that you can install. You can then override gem files in your app-root/app/slices directory.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

The core code for Feather, a lightweight Merb-based blogging engine.

Pages