使用Rails、Devise和devise_cas_authenticatable,我希望根据某些内部配置使用不同的CAS服务器。
由于cas_base_url是在初始化器中设置的,因此在前置筛选器中重写该值如下:
Devise.setup do |config|
config.cas_base_url="my_custom_variable_cas_server"
end一旦调用了before_filter,然后调用了:authenticate_user!,在第一次运行时,将设置自定义cas服务器,但在此之后,它将被缓存或执行某些操作,并且不会被修改。
在环境/Development.rb中,config.cache_classes = false。
是否有任何方法来扩展、设计或重写指定哪个是devise_cas_authenticatable的登录url的函数?
发布于 2014-06-09 07:55:06
解决方案是在lib文件中重新定义cas中的“新”操作:
发布于 2015-10-07 13:54:48
我使用了这个解决方案,并且在生产环境中运行的应用程序(由于eager_load配置)得到了循环依赖错误。
最后,我让它可以在config/environments.rb s.rb文件中插入require 'devise_cas_authenticatable_extender‘。
https://stackoverflow.com/questions/24018860
复制相似问题