我有一个数据驱动的asp.net mvc应用程序。页面的URL也是数据驱动的,因此无法在web.config中对其进行硬编码。 我们已准备好部署网站,最初几天我们希望只有在登录后才能访问这些页面。
是否可以向网站添加授权,然后仅通过更改web.config将其取出? 我添加了这个:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="20">
<credentials passwordFormat="Clear">
<user name="admin" password="adminpwd" />
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
然而,这不起作用。
我也尝试了位置标记,但不确定要指定的路径。
<location>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
请注意:默认错误页面无需授权即可使用
<customErrors mode="Off" defaultRedirect="/error">
</customErrors>
你能帮忙吗?
谢谢!
答案 0 :(得分:1)
你试过了吗?
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
自上而下评估,因此首先拒绝所有匿名用户,然后允许所有其他用户(即所有经过身份验证的用户)
答案 1 :(得分:1)
可能是Controllers Actions上的[Authorize]属性?也许this会有所帮助。
答案 2 :(得分:0)
这是否只是在生产服务器上进行测试时的临时限制?如果是这样,您可以尝试常规HTTP Authentication。