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