身份验证不适用于托管

时间:2014-07-17 20:46:02

标签: c# asp.net asp.net-mvc-4 membership-provider parallels

我在Asp.net上创建了一个网站mvc4 / c#该网站有/ admin部分用于管理。要访问管理员部分,首先将用户重定向到登录页面。我已经重新定义了会员提供商以使用硬编码密码,因为我是该网站上唯一的管理员。

public override bool ValidateUser(String username, String 
{           
  return (username == "xxxx" && password == "xxxx");
}

在web-config中,我添加了这一行:

<authentication mode="Forms">
<forms loginUrl="~/Admin/User/LogIn" timeout="2880" />
</authentication>
<membership defaultProvider="CustomMembershipProvider">
  <providers>
    <clear />
   <add name="CustomMembershipProvider" type="CustomMembershipProvider" />
 </providers>
</membership>

所有这一切都在当地发挥作用。显示登录页面,我输入我的登录/通行证并输入管理员部分。

然后我将我的网站部署在我可以通过plesk并行访问的主机上。现在,当我尝试访问管理页面时,我收到一个需要登录/访问我的主机用户的弹出窗口,而不是我的页面。输入后,我将重定向到管理页面而不访问登录页面。

我做错了什么?如何使用我的网站的用户和登录页面而不是我的托管用户/ pas?

1 个答案:

答案 0 :(得分:0)

这是我的错,不是托管的问题。我发现我已将[Authorize]属性设置为整个User Controller。我的Login Action位于此控制器内,因此当我尝试访问管理员部分时,我被重定向到User controller,但它也请求授权,并且会出现此问题。 我已删除Authorize属性,现在每个人都可以。