Comments (4)
I can't imagine how this could be a use case with default devise. If they haven't made an account, I wouldn't know how to add them to a role, because they haven't yet been assigned a username/email.
from hydra-role-management.
We're already doing this in Avalon with OmniAuth + Devise, and we haven't done anything funky to Devise to make it work. Users are identified by a string (username, email address, whatever). The table that links users to roles uses the username string instead of the id field from the user table. That way, we can add users to roles by ID before they exist in the User table. This works because they have a university-assigned User ID, and their User record is initialized with it the first time they successfully log in using institutional authentication.
For example, Alice's Northwestern NetID is abc123
whether our Hydra head knows it yet or not. I should be able to add abc123
to an administrator group before she's in the User table, because I know for certain what her ID will be when she finally gets here. I can't necessarily create the User entry beforehand, though, because it gets initialized with additional LDAP information that I won't have access to until she logs in and it shows up in her OmniAuth session.
from hydra-role-management.
@mbklein That approach sounds like it works pretty well.
from hydra-role-management.
After discussing this with @cjcolvar , it was determined that this was an extremely low priority, and could be closed until it is revisited for a future release.
from hydra-role-management.
Related Issues (20)
- Integrate RuboCop for enforcing styling guidelines
- Improve test coverage to 100% HOT 1
- Replace "Hydra" with "Samvera" in CONTRIBUTING.md
- Test using Ruby releases 2.5.1 and 2.4.4 (also, test using Rails 5.2.0, 5.1.6, and 5.0.7)
- Link to the contributing guidelines in the README
- Update the CircleCI config. to test against Rails 6.x releases
- Use CircleCI for continuous integration
- Migrate from Waffle.io to GitHub Projects
- Test against Rails release 5.1.7 and Ruby releases 2.6.3, 2.5.5, and 2.4.6
- Generate a changelog HOT 1
- Json 1.8 dependency is incompatible with bundler 2.x HOT 1
- Add support for Ruby 2.7.z releases HOT 1
- Add support for Rails 6.0.z releases
- Add Circle CI step that fails if branch name is master
- Support Rails 6.1 releases
- Support Ruby 3.0 releases HOT 1
- Configure nightly CircleCI test suite executions
- Update the gemspec to require MFA for RubyGems releases
- Upgrade Blacklight HOT 1
- Provide a roadmap for migration into the samvera/hyrax project
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hydra-role-management.