仅保护网站的Login.aspx

时间:2020-03-06 14:44:21  来源:igfitidea点击:
  • 是否可以仅保护Login.aspx页(和回发),而不保护IIS中的整个站点?
  • 我们希望通过针对我们的Active Directory运行基于表单的身份验证的SharePoint网站来专门执行此操作。
  • 链接到此将是有帮助的。

到目前为止,这是我们所做的:
1.设置SharePoint以针对AD使用FBA。
2.将登录页面移至Secure / Login.aspx
3.在web.config中将相应的登录URL设置为https://..../ Secure / Login.aspx

这是行不通的,这里需要帮助。
但是,即使这可行,我们如何使用户从https返回到http?

解决方案

没有很多意义。如果唯一经过加密的是Login.aspx页面,则意味着某人可以嗅探所有未通过登录页面发送的流量。

这可能会阻止人们获得user:pass,但是所有其他数据都已公开。

除了公开的所有数据以及可以在途中更改的用户操作外,还以明文形式发送用户的会话ID(或者其他身份验证数据)。这意味着,即使没有获得密码,攻击者也可以窃取cookie(...)并将其模拟到系统中。 (如果我没记错的话,SPSv.3还支持内置的密码更改模块...)
因此,我想这不是一个好主意,除非我们无论如何都不在乎该系统...。但是,那为什么还要麻烦身份验证呢?只是将其设为匿名?

我同意AviD和Dan Williams的观点,认为仅保护登录页面不是一个好主意,因为它会在离开密码页面后公开其他数据。但是,我们可以通过IIS管理器仅对login.aspx页要求SSL。如果我们导航到IIS管理器中的login.aspx页面(我相信它位于/ _layouts下),则可以右键单击单个文件,然后选择"属性"。从那里转到"文件安全性"选项卡,然后单击"安全通信"下的"编辑..."按钮。在那里,我们可以选中"需要安全通道(SSL)"框,并且仅该页面需要SSL。

我对让用户从那里回到http并不满意,但是我相信它的默认行为是,如果登录成功,则会将我们发送到请求的页面。如果没有,我认为我们可以自定义登录页面在成功登录后向我们发送的位置。