Bonobo Git 服务器上无法识别管理员用户

Admin user not recognized on Bonobo Git Server

我在 IIS 上使用 Bonobo Git 服务器一段时间,它工作正常。

我几乎不使用 Web 界面,即使使用,我也会以普通用户身份登录。

今天我以管理员身份登录,但顶部的管理员链接不见了。

通常我应该看到:

但我只获得普通用户链接,create new repository 按钮没有显示,当我转到:

../Settings/Index

我得到一个:

Unauthorized - You don't have permission for the selected action or page

我确定我是以管理员用户身份登录的,并且角色成员资格没有更改,但看起来我只是一个普通用户。

Bonobo 或 Windows 日志中没有错误。

我将站点复制到我的本地服务器,相同的文件工作正常,我看到了完整的管理界面。

我知道在生产服务器上进行了一些服务器加固,但我不知道细节。

有没有人知道这是什么情况?

我调查了生产机器上的 "server hardening",结果发现他们从机器级别的 IIS 中删除了许多未使用的模块和处理程序。

他们对所有站点进行了测试,Bonobo Git 服务器似乎工作正常。

考虑到这个问题,admin 用户不被识别为管理员,我查看了 Bonobo 的源代码,他们正在使用 User.IsInRole

看来他们正在使用 ASP.NET 会员提供商。

然后我查看了删除的 IIS 模块,其中之一是:

System.Web.Security.RoleManagerModule

在本地删除它会导致我在生产服务器上遇到的问题完全相同。

所以我要求服务器管理员将该模块添加回:

New-WebManagedModule -Name RoleManager -Type System.Web.Security.RoleManagerModule -Precondition "managedHandler" 

一切正常,admin 用户再次成为完全管理员。