首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ASP.NET MVC4登录?

如何使用ASP.NET MVC4登录?
EN

Stack Overflow用户
提问于 2012-11-06 06:17:57
回答 2查看 22.6K关注 0票数 4

下面是我尝试过的一些代码。它不起作用;在“登录”之后,用户不会被重定向到主页/索引页面,但登录页面只是重新加载。

Web.config:

代码语言:javascript
复制
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" />
</authentication>

...

<defaultDocument>
  <files>
    <add value="~/Account/Login"/>
  </files>
</defaultDocument>

控制器/AccountController.cs:

代码语言:javascript
复制
public class AccountController : Controller
{
    //
    // GET: /Account/Login
    public ActionResult Login()
    {
        return View();
    }
}

视图/帐户/Login.aspx:

代码语言:javascript
复制
<asp:Login ID="login" runat="server" DestinationPageUrl="~/Views/Home/Index.aspx">
    ...
</asp:Login>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-06 13:44:47

您使用的是ASP.NET MVC4的internet模板吗?如果没有,我建议你用互联网模板创建一个新的ASP.NET MVC项目,打开帐户控制器并查看一下方法。

正如@user1所说的那样,可以这样做的一种方法是使用

代码语言:javascript
复制
 FormsAuthentication.SetAuthCookie(username, true);
 return Redirect(returnurl);

但正如您所说,您使用的是ASP.NET MVC4,您应该使用WebSecurity类。

例如:

代码语言:javascript
复制
WebSecurity.Login(model.UserName, model.Password);
return RedirectToAction("Index", "Home");

大部分工作是使用WebSecurity帮助器的以下方法和属性完成的:

进一步阅读:

票数 11
EN

Stack Overflow用户

发布于 2012-11-06 06:27:48

我怀疑您没有设置forms身份验证cookie,这就是重定向不起作用的原因。理想情况下,在您的登录方法中,您将使用某些逻辑验证用户名和密码,当您确信用户是合法的时,您必须设置forms身份验证cookie,然后重定向用户。

代码语言:javascript
复制
FormsAuthentication.SetAuthCookie(username, true);
return Redirect(returnurl);

如果不设置身份验证cookie,重定向将不起作用,因为请求仍将被视为未经身份验证的请求,并且用户将被发送回登录页面。您可以在此处找到有关表单登录的更多信息

http://msdn.microsoft.com/en-us/library/xdt4thhy%28v=vs.71%29.aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13241319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档