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中注册它,这也很容易。
您可以在此处找到自定义提供程序的示例:
这里是整个过程的教程: 请记住,为标准的ASP.NET网站创建MVC的自定义提供程序的过程是相同的,但是MVC并未完全利用MembershipProvider类的所有方法,因此易于实现。 您是否调查过UniObjects接口?它随Universe一起提供,但需要安装。它具有对所有数据库功能的完全访问权限。登录,选择文件,读取,写入,删除,创建新文件等。 您必须为此创建一个自定义提供程序。只要您可以毫无问题地访问Web服务,这并不难。 |