在带有Universe数据库的ASP.NET MVC中处理身份验证的最佳方法是什么?

时间:2020-03-05 18:55:46  来源:igfitidea点击:

我们使用一个称为Universe的IBM数据库,该数据库将所有用户ID,密码和配置文件信息保存在一个名为USERINFO的表中。

我可以使用会员资格提供程序连接到该数据库并验证用户身份吗?

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

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

解决方案

回答

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

回答

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

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

这里是整个过程的教程:
http://www.15seconds.com/issue/050216.htm

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

回答

我们是否研究过UniObjects接口?它带有Universe,但是需要安装。它具有对所有数据库功能的完全访问权限。登录,选择文件,读取,写入,删除,创建新文件等。