gpt4 book ai didi

asp.net-mvc - ASP.Net MVC 认证

转载 作者:行者123 更新时间:2023-12-02 02:32:02 25 4
gpt4 key购买 nike

我知道这个问题已被问过一百万次,但我所能找到的要么是非常简单的场景,要么是对我没有多大用处的过于复杂的场景(比如 MSDN 上巨大的 MembershipProvider 示例实现)。

这是我的问题:我有一个带有用户表的数据库。用户有用户名、密码和其他一些重要信息。我想要的是能够让页面需要身份验证,这样如果用户已经订阅了应用程序,他可以使用他的用户名/密码进行身份验证,否则他可以通过填写所有必需的信息来注册。没有角色,没有特殊权限,什么都没有,只有简单的身份验证。

我想这应该是直截了当的事情,我只是想确保它足够解耦并且不想编写我的自定义身份验证系统(如果已经有内置的身份验证系统可用并经过测试的话)。

谢谢。

编辑:
只是为了澄清,我不需要自定义 MembershipProvider,我使用的是 SQL Server 数据库,因此默认提供程序应该可以正常工作。真正的问题是我如何才能简单地为用户定义我自己的一组所需信息。

答案:
我最终不得不派生我自己的 MembershipProvider 类并覆盖我感兴趣的方法。它比我想象的要简单得多,而且效果很好。

最佳答案

使用 Visual Studio(2008、2010),创建一个 ASP.NET MVC2 应用程序(不用担心,我不建议保留它,只是用它来学习)。在创建的代码中查看接口(interface) IMembershipService:

public interface IMembershipService {
int MinPasswordLength { get; }
bool ValidateUser(string userName, string password);
MembershipCreateStatus CreateUser(string userName, string password, string email);
bool ChangePassword(string userName, string oldPassword, string newPassword);
}

在你的应用程序中,你可以用任何你喜欢的方式实现这个接口(interface),例如使用您存储在用户表中的信息的类。

另一个示例是使用基于 WCF 的 Web 服务的类。这是我在最近的一个项目中使用的方法。

其余的都已连接好并准备就绪。

关于asp.net-mvc - ASP.Net MVC 认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3413179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com