我有asp.net网络应用程序。我想只允许经过身份验证的用户使用此应用程序。任何匿名用户都应该获得访问被拒绝错误或应该被重定向到登录页面。所以我在配置文件中添加了“Authorization”元素来拒绝所有匿名用户。我排除了login.aspx
页面,以便匿名用户可以访问它。
<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进行身份验证,这就是您看到验证模式=“无”的原因。当用户访问登录页面时,它只是将用户重定向到Azure站点进行身份验证。这个认证工作正常。
问题
1。考虑我的应用程序托管在本地IIS中。仅限
如果我输入,login.aspx
将从授权中排除
http://localhost
我收到访问被拒绝错误。我必须明确
输入http://localhost/login.aspx
进行登录。我该如何改变呢
因此,当我键入http://localhost
时,IIS将重定向到
http://localhost/login.aspx
(我已经尝试过设置
login.aspx作为IIS中默认文档下的第一页
2。我需要做什么配置,所以如果匿名用户尝试
访问http://localhost
下的任何资源,他将被重定向
到http://localhost/login.aspx
(这也将照顾第一名
问题)