设备身份验证中的附加逻辑

发布于 2024-11-03 17:57:46 字数 170 浏览 9 评论 0原文

请问我如何以及在哪里可以在设计中放置额外的身份验证逻辑?

我在用户表中添加了一个名为 expire_date 的自定义列,它是一个日期列。

我想要一个额外的要求,即在允许对它们进行身份验证之前,那里的日期不得晚于今天的日期。

请问我在哪里可以添加这个逻辑?

谢谢

please how and where can i place additional authentication logic in devise?

i have added a custom column called expire_date in my users table and it is a date column.

i want an additional requirement that the date there must not be later than todays date before allowing them to be authenticated.

please where can i add this logic?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

青衫负雪 2024-11-10 17:57:46

或者您可以覆盖active_for_authentication?用户模型中的方法

def active_for_authentication?
 super && (test your dates here)
end

如果处于非活动状态,它将生成一条有关帐户未活动的闪存消息。如果您想要不同的内容,例如“此用户尚未激活”,请更改文件 config/locales/devise.en.yml:inactive 的设置。这主要取自 设计维基

Or you can override the active_for_authentication? method in your User model

def active_for_authentication?
 super && (test your dates here)
end

If it is inactive, it will generate a flash message about the account not being active. If you want something different like "This user is not active yet", change the setting for :inactive in the file config/locales/devise.en.yml. This is taken mostly from the Devise wiki.

dawn曙光 2024-11-10 17:57:46

创建您自己的继承自 Devise::SessionsController 的控制器

应用程序/控制器/用户/sessions_controller.rb

class Users::SessionsController < Devise::SessionsController
...
Overwrite the new method
...
Change what else you need to change
...
end

将新路由添加到路由文件中,然后就可以开始了。

Create your own controller that inherits from Devise::SessionsController

app / controllers / users /sessions_controller.rb

class Users::SessionsController < Devise::SessionsController
...
Overwrite the new method
...
Change what else you need to change
...
end

Add a new route to the routes file, and you are good to go.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文