c# - 有没有关于在没有默认 ASP.Net 成员提供程序的情况下创建 MVC3 登录系统的教程?

标签 c# asp.net asp.net-mvc-3 membership

我正在寻找有关在不使用默认 ASP.Net 成员提供程序的情况下为 ASP.Net MVC3 创建登录系统的教程或小型介绍性指南。

我已经使用 Internet 应用程序模板创建了一个新的 MVC3 项目,这里是 _LogOnPartial.cshtml 的内容:

@if(Request.IsAuthenticated) {
    <text>Welcome <strong>@User.Identity.Name</strong>!
    [ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text>
}
else {
    @:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
}

@User.Identity.Name 是成员(member)提供者的一部分吗?我想阅读更多有关 ASP.Net MVC3 成员资格的信息,因为我已经有了一个包含用户凭据的数据库,所以我不需要 prapackaged。

谢谢!

最佳答案

在 ASP.NET MVC 中实现自定义身份验证代码实际上相当容易。

在您的 Controller 的 LogOn 方法中,您需要在验证用户凭据后调用 FormsAuthentication 提供程序。

public ActionResult LogOn(LogOnModel model)
{
   //Handle custom authorization then call the FormsAuthentication provider

   FormsAuthentication.SetAuthCookie(/*user name*/, true);

   //Return view
}

调用此方法后,将填充 User.Identity.Name,您可以在 Controller 或 Controller 方法上使用 AuthorizeAttribute

在 Controller 的 LogOff 方法中,您将再次调用 FormsAuthentication 提供程序

public ActionResult LogOff()
{
   FormsAuthentication.SignOut();

   //Return view
}

关于c# - 有没有关于在没有默认 ASP.Net 成员提供程序的情况下创建 MVC3 登录系统的教程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6950558/

相关文章:

c# - 将位图添加到 HTML

c# - 使用 Json.Net 查询带有过滤器的 Json

具有 AD 身份验证的 ASP.NET wiki

asp.net - 401 向 web api 发送 ajax 请求时未经授权

c# - 将 excel 工作簿转换为 byte[]

asp.net-mvc - ASP.NET MVC 3 - 这个 bool 值在 Controller 中如何工作?

c# - StringBuilder.Append 问题

c# - 获取字符串中模式的匹配项

javascript - 通过 javascript 将复杂参数传递给 Web API 服务

asp.net-mvc - 最新的 ASP.Net MVC 3 请求处理管道图?