我有asp.net web应用程序。我想只允许经过身份验证的用户访问此应用程序。任何匿名用户都应该访问被拒绝的错误,或者应该被重定向到登录页面。所以我在配置文件中添加了“Authorization”元素来拒绝所有匿名用户。我排除了login.aspx
页面,以便匿名用户可以访问它。如何在IIS中设置启动页面
<system.web>
<authentication mode="None" />
<authorization>
<deny users="?"/>
</authorization>
</system.web>
<location path="login.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
注意:此应用程序使用Azure的AD进行身份验证这就是为什么你看到authetication模式= “无”。用户访问登录页面时,只需将用户重定向到Azure站点进行身份验证。而这个身份验证片工作正常。
问题
考虑我的申请在本地IIS托管。由于只有 login.aspx
被排除在授权之外,如果我输入 http://localhost
我得到拒绝访问错误。我必须明确 类型才能登录。如何改变这种 所以当我键入http://localhost
IIS将重定向到 (我已经尝试下IIS默认文档设置 login.aspx的为第一页)
2.我需要什么样的配置做,因此,如果匿名用户尝试 访问任何资源http://localhost
下,他会被重定向 到(这也将照顾1 问题)
为什么不显示所有用户'login.aspx'来授权? – gofr1
好吧,这是问题。用户不会输入www.mydomain.com/login.aspx...user只打入www.mydomain.com,但如果我有拒绝所有匿名用户的访问,那么它会提供“拒绝访问”错误,如果我只输入www.mydomain.com .. –
LP13
我明白了,谢谢澄清。 – gofr1