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

时间:2015-07-22 05:10:23

标签: bonobo

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

我几乎不使用网络界面,如果我这样做,我会以普通用户身份登录。

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

通常我应该看到:

admin links

但是我只获得了正常的用户链接,create new repository按钮没有显示,当我去的时候:

../Settings/Index

我得到了:

  

未经授权 - 您无权访问所选操作或页面

我确信我已经以管理员用户身份登录,并且角色成员身份尚未更改,但似乎我只是普通用户。

Bonobo或Windows日志中没有错误。

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

我知道生产服务器上已经发生了一些服务器强化,但我不知道细节。

有人知道这会是什么情况吗?

1 个答案:

答案 0 :(得分:0)

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

他们在所有网站上进行了测试,而Bonobo Git Server似乎运行良好。

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

所以看起来他们正在使用ASP.NET成员资格提供程序。

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

System.Web.Security.RoleManagerModule

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

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

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

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