【问题标题】:Authentication not working on hosting身份验证不适用于托管
【发布时间】:2014-07-17 20:46:01
【问题描述】:

我在 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 并行访问的主机上。现在,当我尝试访问管理页面时,我收到的不是我的页面,而是一个弹出窗口,需要我的主机用户登录/通过。输入后会被重定向到管理页面而不访问登录页面。

我做错了什么?应该怎么做才能使用我网站的用户和登录页面而不是我的主机的用户/密码?

【问题讨论】:

  • 您是否咨询过您的托管服务提供商?似乎不是与 ASP.NET 相关的问题。托管服务提供商将允许您进行一些设置以获取默认行为。

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


【解决方案1】:

这是我的错误,而不是托管的问题。碰巧我已将[Authorize] 属性设置为整个User Controller。我的Login Action 在这个控制器内,所以当我尝试访问管理部分时,我被重定向到User controller,但它也请求授权,并且出现了这个问题。 我已经删除了Authorize 属性,现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 2016-10-22
    • 2017-10-10
    • 2010-11-05
    相关资源
    最近更新 更多