【发布时间】:2015-04-10 12:53:25
【问题描述】:
我已经创建了自己的 Membership Provider,我有以下方法:
public override bool ValidateUser(string username, string password)
{
if (username == "John")
return true;
else
return false;
}
我还在 web.config 文件中添加了以下行:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
<membership defaultProvider="MembershipProviter">
<providers>
<clear />
<add name="cls_MembershipProvider" type="App.cls_MembershipProvider"
enablePasswordRetrieval="false"
enablePasswordReset="false"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="App"
/>
</providers>
</membership>
您可能注意到我正在使用 Windows 身份验证,但我没有登录页面。默认情况下,来自 Active Directory 的所有用户都可以访问该页面。我的目标是检查用户是否存在于我的数据库中。 我搜索的每个地方都有登录页面,其中启动了 ValidateUser。我的问题是我应该在哪里实现 ValidateUser 方法,因为我没有登录页面。我只想控制每个 Controler 方法,这样我就可以添加 [Authorize],这样只有我数据库中的用户才能真正访问该页面。
【问题讨论】:
-
您尝试过我下面建议的解决方案吗?你的问题解决了吗?
标签: asp.net-mvc-4 membership-provider