我是 ASP.NET MVC 新手,需要一些有关如何实现以下内容的建议。
该网站是一个使用率很高的网站,内部有大约 200 个用户(内部网)。我们使用表单例份验证来访问 SQL Server DB(不是 Windows 集成)。
有些操作受到保护,有些操作任何人都可以查看,有些操作双方都可以查看 - 因此,如果有登录用户,他们会看到数据库中的内容,否则他们会看到临时配置文件 - 很像 StackOverflow。
我将如何针对这种情况实现安全模型?我可以重用 ASP.NET MVC 中的现有框架并使用授权过滤器吗?
有什么网上文章可以作为引用吗?
最佳答案
我遇到了同样的问题,因为我想使用自定义构建的用户数据库实现 asp.net 成员资格,我的解决方案是覆盖默认的 aspnet 成员资格提供程序来管理用户日志记录和 aspnet 角色提供程序来管理用户角色。 例如,我的自定义成员(member)资格提供商将如下所示
namespace Entities
{
public class VEMembership : MembershipProvider
{
public override bool ValidateUser(string username, string password)
{
// your logic to validate user
// return false if not qualified, other wise true
}
}
}
然后在您的网络配置文件中,您只需将默认成员(member)资格提供商添加到:
<membership defaultProvider="VEMembership">
<providers>
<clear/>
<add name="VEMembership"
type="Entities.VEMembership"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
connectionString="VEConnectionString"/>
</providers>
</membership>
如果您需要任何帮助,Google 搜索上有很多关于编写自定义 aspnet 成员(member)资格提供商的文章。 希望这有帮助
关于asp.net - 为 ASP.NET MVC 实现自定义登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1641779/