ASP.NET MVC 3网站忽略了表单身份验证loginUrl值

时间:2013-04-26 20:53:29

标签: asp.net-mvc forms-authentication

我刚加入了一个已经进行了几个月的项目,并且被要求查看在身份验证超时后用户被重定向到表单身份验证loginUrl的错误。你可能会对自己说,这不是一个错误,男人!好吧,用户被引导到帐户控制器上的“开箱即用”登录操作​​(“〜/帐户/登录”),而不是我们在web.config中的操作。所以我的问题是,除了web.config以外的其他地方可以存储此设置吗?它必须在某个地方,因为我在web.config中多次更改loginUrl值,并且当我们超时时,我们总是被重定向到/ Account / Login。

我们在本地使用工作室内置的Web服务器。

2 个答案:

答案 0 :(得分:1)

有一种想法:你的控制器上可能有一个FilterAttribute子类正在寻找一个过期的会话,并明确地重定向到〜/ Account / Login,或者一些最终让你到达那里的LogOut动作。

甚至可能会有一些JavaScript在一段时间后重定向。

答案 1 :(得分:1)

我添加了这个答案,以巩固我所发现的与亚当在接受的答案的评论中建议的内容。我在Stack上的另一个问题here上找到了另一条路径。不知何故,我在最初的搜索中错过了它。在我的例子中,WebMatrix.Data.dll在我们的项目中被引用。这个dll包含一个带有静态构造函数的类,它将类的loginUrl属性设置为'〜/ Account / Login'。解决方案是在应用程序设置中使用新条目覆盖该设置,如:<add key="loginUrl" value="/login" />或按照asp.net站点上的说明进行操作,并将其包含在web.config中的appSettings中:<add key="autoFormsAuthentication value="false" />

希望这有助于某人!