关于c#:使用Universe数据库在ASP.NET MVC中处理身份验证的最佳方法是什么?

关于c#:使用Universe数据库在ASP.NET MVC中处理身份验证的最佳方法是什么?

What is the best way to handle authentication in ASP.NET MVC with a Universe database?

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

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

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

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


如上所述,您需要创建一个非常简单的自定义成员资格提供程序。您将创建一个从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一起提供,但需要安装。它具有对所有数据库功能的完全访问权限。登录,选择文件,读取,写入,删除,创建新文件等。


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


推荐阅读