3

我们使用一个名为 Universe 的 IBM 数据库,它在一个名为 USERINFO 的表中保存了我们所有的用户 ID、密码和个人资料信息。

我可以使用 Membership Provider 连接到这个数据库并对用户进行身份验证吗?

数据库访问实际上是通过 Web 服务,因为我们没有直接连接到数据库。

我们有一个名为 GetUserInfo 的 Web 服务方法,它接受用户名参数。该方法将返回密码和配置文件信息。

4

3 回答 3

10

如上所述,您需要创建一个相当简单的自定义成员资格提供程序。您将创建一个继承自 System.Web.Security.MembershipProvider 的 .NET 类。在你的类中有几个方法需要重写,但大多数方法甚至都没有被 MVC 帐户控制器使用。您要覆盖的主要方法是 ValidateUser(username, password),它将让用户登录。实现类后,您需要在 web.config 中注册它,这也很容易。

您可以在此处找到自定义提供程序的示例:http: //msdn.microsoft.com/en-us/library/6tc47t75 (VS.80).aspx

以及整个过程的教程: http ://www.15seconds.com/issue/050216.htm

请记住,为 MVC 创建自定义提供程序的过程对于标准 ASP.NET 网站是相同的,但是 MVC 并没有完全利用 MembershipProvider 类的所有方法,因此它更容易实现。

于 2008-09-16T12:56:53.990 回答
0

您必须为此创建一个自定义提供程序。这并不难,只要您可以毫无问题地访问 Web 服务。

于 2008-09-16T12:20:52.487 回答
0

你研究过 UniObjects 接口吗?它与 Universe 一起提供,但需要安装。它可以完全访问所有数据库功能。登录、选择文件、读取、写入、删除、创建新文件等。

于 2008-11-29T22:43:06.730 回答