身份验证请求转到未指定的页面

时间:2011-06-20 12:09:47

标签: asp.net-mvc-3 authentication

在来到这里之前,我试图耗尽我所有的资源,并且通过一个非常具体的问题困扰社区,这个问题无疑是我自己搞砸了,但我现在已经筋疲力尽了。

我正在做一个MVC3网站,主要是由NuGet的Steven Sanderson的Mvc Scaffolding软件包构建的。 (它也使用SQL CE EF Code First和EricEJ的SqlCeMembership包。)一切都在游泳。

直到我在一些我不想公开的控制器方法上添加[Authorize(Users =“admin”)]。

然后我收到404错误,指出请求URL“/帐户/登录”未找到。

令人费解的是,我的网站中没有任何地方有/ Account / Login请求。 Web配置的身份验证部分是:

   <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
   </authentication>

注意,“LogOn”,而不是“登录”。实际上,我已经在整个解决方案上为字符串“Login”(不区分大小写,匹配整个单词)做了一个Cntl-F(Find),但找不到任何东西。然后我继续在整个磁盘上找到了一个Find-In-Files,找不到任何有意义的东西。

我确信这是我做过的蠢事,因为如果我创建一个新的Mvc项目并在其中一个方法中添加一个Authorize属性,它就可以正常工作,转到Account / LogOn。但是我不知道我做了什么,而且我对如何找到它没有想法。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。 您是否尝试在配置文件中更改/设置loginUrl设置?

    <appSettings>
    <add key="loginUrl" value="~/Login.asp" />
</appSettings>

(显然改变了你的要求的路径)

干杯, 克里斯

答案 1 :(得分:0)

@Dave

我也有同样的问题,发现我错误地将帐户文件夹登录文件添加到我的项目根目录。删除它们后,我可以在正确路由到LogOn页面的控制器上使用[Authorize]。

相关问题