默认情况下 Redmine 是不支持从 header 中获取登录信息,这样就无法使用 Apache HTTP Server 的认证信息。
因此在我们对站点进行了LDAP认证后,还需要再次输入用户名和密码,导致重复登陆,影响用户体验。
我们可以通过简单的修改几个方法达到这个目的,从而做到统一登录。
思路
登录增加一层判断,使得如果没有登录信息,则 header 中去获取登录信息,进行模拟登陆。
修改办法
需要修改的文件为 apps/redmine/htdocs/app/controllers/account_controller.rb
从 header 中获取验证信息,验证信息获取后需要 base64 解密,解密后是 `username:password` 的内容。
def httpbase_authentication require 'base64' auth = request.headers['Authorization'].split(' ') userpass= Base64.decode64(auth[1]).split(':') user = User.try_to_login(userpass[0], userpass[1]) if user.nil? password_authentication elsif user.new_record? onthefly_creation_failed(user, {:login => user.login, :auth_source_id => user.auth_source_id }) else successful_authentication(user) end end * 修改 login 方法 增加如果没有登录情况下,从 header 中获取登录信息的逻辑 def login if request.get? if User.current.logged? redirect_to home_url elsif request.headers['Authorization'].nil? httpbase_authentication end else authenticate_user end rescue AuthSourceException => e logger.error "An error occured when authenticating #{params[:username]}: #{e.message}" render_error :message => e.message end
相关推荐
centos6 安装redmine+apache2
详细说明了在centos在redmine的配置,包括,apache安装,ruby安装,mysql安装,redmine配置,redmine和apache关联,redmine的ldap认证配置,redmine的邮件服务器配置。
redmine_tagging, 为Redmine问题/wiki页面添加简单标签支持 Redmine标签插件 这里插件向Redmine添加有用的标记功能:在边栏中标记云标记建议和自动完成Redmine搜索集成( 可能搜索 #tag 以查找 wiki/问题)基于标签的...
Redmine用户手册 博文链接:https://qimo601.iteye.com/blog/933550
Node-Redmine是一个100%支持Redmine's REST API的Nodejs库。安装npm install node-redmine示例代码var Redmine = require('../lib/redmine'); /////////////////////////////////////////////////////////////...
redmine本身没有提供单点登录功能,这个插件可以提供redmine的单点登录。解压后将这两个文件放置在redmine目录的plugins目录中。具体操作参照README.md。每个解压文件中都有个EADME.md
Windows 2003下安装redmine
redmine_bootstrap_kit:让redmine支持bootstrap redmine_checklists:新建任务的时候,可以建立复选框任务列表 redmine_ckeditor:富文本编辑器 redmine_close_button:问题增加关闭按钮 redmine_code_review:代码...
Hoptoad服务器 ... Redmine Hoptoad Server支持较旧的Hoptoad API(v1)以及Hoptoad v2 / Airbrake。 在创建config / initializers / airbrake.rb文件时,请偏离标准并放入以下内容: Airbrake . configure do
redmine gitlab plugin hook.可以用来集成gitlab与redmine。使得redmine代码库在gitlab库更新时自动拉取最新代码。
异地服务器需提前架好ftp服务器并建立好相关上传目录,建议使用用FileZilla_Server、serverU或者简单ftp软件进行搭建; 4)整个上传过程,详细记录备份、压缩、FTP上传各步骤详细日志,随时可以查阅每次备份记录的...
介绍了如何在局域网的服务器上安装Redmine,文中很大一部分是自己的原创。由于本人要在公司的内部服务器上安装一个Redmine,根据网上找到的介绍Redmine的安装的文章实践过程中遇到了不少问题。经过几天的奋战,终于...
BitNami的Redmine升级步骤 主要适合于redmine for windows的Upgrade
Redmine数据库.pdf
支持redmine 2.x 的 mylyn connector
Redmine API 官方文档pdf版
redmine 项目管理 软件 安装配置
redmine 2.2.2
redmine中文使用手册,不包含安装配置,只是教大家怎么使用redmine,安装教程很多所以我没写,使用的没有,所以把自己使用的经验教给大家方便大家快速入门
支持64位操作系统, 免去redmine安装中各种繁琐,问题排查, 支持一键式安装部署,里面自动包含了tomcat,mysql,ruby等工具, 整个过程中,只需要输入admin的密码。 非常简单,有效!!!