asp.net MVC中的简单用户/密码保护

Tob*_*zer 1 asp.net-mvc forms-authentication asp.net-membership

一个非常简单的问题,也许有人像我一样有一个MVC初学者的小费.我想密码保护MVC应用程序 - 只需要用户/密码 - 我是通过ASPNETDB和SqlMembershipProvider完成的,但应该有希望更简单的方法 - 在webforms中我通过向web.config添加用户/密码来实现.

我真的需要编写自己的XmlMembershipProvider来解决这个问题吗?如果是的话,你知道一个非常简单的现有XmlMembershipProvider可以为我做这个吗?提前谢谢了..

Tob*_*zer 5

我最后做的是:

public class MyMembershipProvider : MembershipProvider {
  // ...
  public override bool ValidateUser(string username, string password)
  {
    return FormsAuthentication.Authenticate(username, password);
  }
}
Run Code Online (Sandbox Code Playgroud)

web.config中:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" >
    <credentials passwordFormat="Clear">
      <user name="rga" password="XYZ"/>
    </credentials>
  </forms>
</authentication>
Run Code Online (Sandbox Code Playgroud)

...

<membership defaultProvider="XmlMembershipProvider">
  <providers>
        <clear/>
        <add name="MyMembershipProvider" type="Namespace.Of.MyMembershipProvider" 
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
  </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)

所以没有必要更改AccountController.谢谢你的帮助.