2009-09-24 154 views
1

我有一个数据驱动的asp.net mvc应用程序。页面的Url也是数据驱动的,所以它们不能在web.config中硬编码。 我们准备部署网站,并且最初几天我们希望只有在登录后才能访问网页。ASP.NET MVC网站授权

是否可以向网站添加授权,然后通过仅更改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> 

你能帮助工作吗?

谢谢!

回答

1

你试过:

<authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
</authorization> 

据评估自上而下的,所以首先拒绝所有匿名用户,然后让所有其他用户(即所有身份验证的用户)

+0

我试过这没有奏效。 为了消除在我的应用程序中的一些古怪的可能性,我尝试了一个全新的Asp.net MVC应用程序,它也没有工作。 – Puneet 2009-09-24 13:31:24

+0

如果我切换拒绝并允许,会发生什么变化? – 2013-09-18 21:40:29

1

也许[授权]属性关于控制器操作?也许this将有所帮助。

0

这只是一个临时限制,而它正在生产服务器上进行测试?如果是这样,你可以试试HTTP Authentication