我使用的是VSTS 2008 + C#+。Net 3.5 + IIS 7.0 + ASP.Net。我有两个IIS网站,站点A和站点B.当用户请求URL http://sitea/abc.aspx时,我的ASP.Net代码处理程序将验证用户(使用Forms身份验证),如果authenticiticaiton通过,我将用户重定向到{{ 3}}
我目前的问题是,有些用户会直接访问http://siteb/bcd.aspx以跳过sitea的身份验证过程。这不是我想要的,因为我想确保所有访问http://siteb/bcd.aspx的用户都经过身份验证。
我的问题是,当用户直接访问siteb以跳过身份验证时,解决问题的简单解决方案是什么?
答案 0 :(得分:1)
我对此的看法......
如果您需要进一步澄清,请告诉我。
此处提供了类似的解决方案..
Multiple site authentication with asp.net
注意:如果需要,表单身份验证cookie域应设置为“* .yourdomain.com”,以便同一个cookie可以用于该站点。
答案 1 :(得分:1)
在siteb上,您可以限制访问sitea的IP地址。
在IIS管理器中
单击“目录安全性”或“文件安全性”选项卡,然后执行以下操作之一:
在“IP地址和域名限制”部分中,单击“编辑”。
单击“授予访问权限”或“拒绝访问权限”。选择“拒绝访问”时,您将拒绝访问所有计算机和域,除非您专门授予访问权限。当您选择授权访问权限时,您授予对所有计算机和域的访问权限,但您明确拒绝访问的权限除外。
单击“添加”,然后单击“单台计算机”。
单击“DNS查找”按名称搜索计算机或域,而不是按IP地址搜索。
键入计算机的DNS名称。 IIS在当前域上搜索计算机,如果找到,则在IP地址框中输入其IP地址。