asp.net - 如何使用只有一个用户的 ASP.NET MVC 项目

标签 asp.net asp.net-mvc-3 authentication logging

我正在开发一个在公司使用的项目。系统将只有 1 个管理员帐户。

管理员将添加系统用户,每个用户可以创建自己的联系人。

我创建了一个 WCF 服务来连接数据库,一个用于管理员的 asp.net mvc3 项目,以及另一个用于系统用户的 WPF 应用程序。

我的问题是:

I have only one user (admin) to log in with this asp.net mvc project: how do I work with this situation?

我认为不需要成员(member)提供商和数据库,因为我只与一个用户合作,对吗?

最佳答案

试试这个:

web.config:

<authentication mode="Forms">
  <forms loginUrl="~/Admin/LogOn" timeout="2880" >
    <credentials passwordFormat="SHA1">
      <user name="admin" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8"/>
    </credentials>
  </forms>
</authentication>

密码格式设置为 SHA1,因此您的密码不会以明文形式显示。但它仍然可以被破解。例如,使用在线 SHA1 生成器生成您自己的哈希值。

loginUrl 是您的登录页面的路由(废话:P),因此如果不同,请更改它。

CredentialsViewModel:

public class CredentialsViewModel
{
    [Required]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    public string Password { get; set; }
}

查看您的登录 View 的模型。

AdminController:

public ViewResult LogOn()
{
    return View();
}

[HttpPost]
public ActionResult LogOn(CredentialsViewModel model, string returnUrl)
{
    if(ModelState.IsValid)
    {
        if(FormsAuthentication.Authenticate(model.UserName, model.Password))
        {
            FormsAuthentication.SetAuthCookie(model.UserName, false);
            return Redirect(returnUrl ?? Url.Action("Index", "Admin"));                
        }
        else
        {
            ModelState.AddModelError("", "Incorrect username or password");
        }
    }

    return View();
}

[Authorize]
public ViewResult Index()
{
    return View();
}

因此登录操作将验证从 View 传递的凭据;将其与 web.config 数据进行比较。

这里重要的部分是[Authorize]属性将阻止未经授权的用户访问。

关于asp.net - 如何使用只有一个用户的 ASP.NET MVC 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663475/

相关文章:

asp.net - 添加 jquery.blockUI 到 aspx 后的回发问题

c# - 如何在不购买域的情况下托管我的 ASP.Net 管理面板?

asp.net-mvc - 带有自动映射器的抽象类

asp.net - 优化ASP.NET网站项目的构建性能?

javascript - 使用全局化库脚本的 MVC3 日期验证

javascript - 自定义 validationSummary HTML 帮助程序在客户端不起作用

java - session 过期时如何禁用重定向到 JBoss 中的登录页面?

python - 使用python请求登录网站

java - CSV 文件下载(在 Excel 中打开)提示进行 Windows 用户身份验证

asp.net - 母版页代码未编译成程序集