我只是“继承”了使用.NetCore 2.0,NodeJS和React托管在带有IIS 10的Windows Server 2016上的Web应用程序。
我来自Linux管理员背景,我试图围绕如何保护此Web应用程序(确实如此)进行思考。
该站点是私有站点,唯一的公共页面是登录页面。需要有效的登录信息才能进入该网站。
查看代码,我发现它使用以下名称空间:
Microsoft.AspNetCore.Authentication和System.Security.Authentication
此外,在IIS配置中,我看到启用了匿名身份验证。
尽管如此,我仍然看不到它的安全性。
我在主要的javascript文件中看到这一行:
$(document).ajaxComplete((e, jqXHR) => {
if (jqXHR.status !== HttpStatus.UNAUTHORIZED)
return;
window.location.assign('/govUsers/govLogin?ReturnTo=' +
encodeURIComponent(window.location.pathname));
});
我还看到所有API控制器都继承自该控制器:
//abstract top-level parent class
[Authorize]
[ResponseCache(NoStore = true)]
public class AbstractGovtController : Controller
{
protected virtual GovUser CurrentUser => User.GetGovUser(Session) ?? throw HttpException(HttpStatusCode.Unauthorized, "Unauthorized");
...
}
在整个应用程序的所有主要路径中都使用GovUser CurrentUser
,因此我认为这可能与它有关。
我知道当我尝试通过浏览器不登录而进入某个随机页面时,它会通过302 Found http消息将我重定向到登录页面。
所以我的问题是,如何确定该应用程序的实际安全性?
谢谢!