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 用户再次成为完全管理员。
我在 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 用户再次成为完全管理员。