在 ASP.NET MVC 中使用 Universe 数据库处理身份验证的最佳方法是啥?
Posted
技术标签:
【中文标题】在 ASP.NET MVC 中使用 Universe 数据库处理身份验证的最佳方法是啥?【英文标题】:What is the best way to handle authentication in ASP.NET MVC with a Universe database?在 ASP.NET MVC 中使用 Universe 数据库处理身份验证的最佳方法是什么? 【发布时间】:2010-09-09 10:56:32 【问题描述】:我们使用一个名为 Universe 的 IBM 数据库,该数据库将我们所有的用户 ID、密码和个人资料信息保存在一个名为 USERINFO 的表中。
我可以使用 Membership Provider 连接到这个数据库并对用户进行身份验证吗?
数据库访问实际上是通过网络服务,因为我们没有直接连接到数据库。
我们有一个名为 GetUserInfo 的 Web 服务方法,它接受用户名参数。该方法将返回密码和配置文件信息。
【问题讨论】:
【参考方案1】:如上所述,您需要创建一个相当简单的自定义成员资格提供程序。您将创建一个继承自 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 类的所有方法,因此实现起来要容易得多。
【讨论】:
【参考方案2】:您必须为此创建一个自定义提供程序。这并不难,只要您可以毫无问题地访问网络服务即可。
【讨论】:
【参考方案3】:您研究过 UniObjects 接口吗?它与 Universe 一起提供,但需要安装。它可以完全访问所有数据库功能。登录、选择文件、读取、写入、删除、创建新文件等。
【讨论】:
以上是关于在 ASP.NET MVC 中使用 Universe 数据库处理身份验证的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 和 Angularjs 与 ASP.NET MVC 和 Reactjs
在 ASP.NET 中使用 WebAPI 或 MVC 返回 JSON
七天学会ASP.NET MVC ——ASP.NET MVC 数据传递