Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8734109
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T09:46:39+00:00 2026-06-13T09:46:39+00:00

Is there any way of making the authentication_keys configuration conditional depending on the user

  • 0

Is there any way of making the authentication_keys configuration conditional depending on the user type?

For instance in my User model I have two different user, standard user and student, defined by the value of a bitmask attribute. I want to authenticate Students on the basis of username and school_id. Standard users don’t have to have a value for school_id. In order to accommodate this I have two types of login screens, one for students and another for standard users. The student login screen has a hidden school_id field that authenticates them to their school.

In my devise configuration file I have:

config.authentication_keys = [ :username, :school_id ] 

However with this setup standard users are unable to login, my guess is that it’s expecting a school_id for all Users being authenticated. Is it possible to make the authentication keys conditional? Or give an allow_blank option for school_id? I want to be able to keep standard users and students in the same model.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T09:46:40+00:00Added an answer on June 13, 2026 at 9:46 am

    Yes, simply do in your models:

    class User < ActiveRecord::Base
      devise :database_authenticatable, authentication_keys: [:username]
    end
    
    class Student < ActiveRecord::Base
      devise :database_authenticatable, authentication_keys: [:username, :student_id]
    end
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

is there any way of making sure that, one user is logged in only
I'm making an app and i'm curious: is there any way to know how
I'm making a popup in Android using Toast, is there any way when shown
Is there any way to use Google's API to retrieve a user's current zipcode
Is there any way of making a folder that is NOT packaged in the
In a Makefile, is there any way of making a rule an implicit dependency
I was wondering if there was any way of making a backup of an
Is there any way in Notepad++ (or even with another tool) to change the
Is there any way I can set a formatter on models that will convert
Is there any way to overload the > (greater than) operator, to be able

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.