语言/技术位
- 用 VB 和 razor 编写的 ASP.net MVC 4。(从互联网模板创建)
- MySQL 5.5
- Visual Studio 2012 Express for Web(即将升级到专业版)
要求
我需要在我的 ASP.net MVC 4 应用程序中实现成员资格和角色。我有一个现有的 MySQL 数据库,其中包含一个我希望用于此目的的 Users 表。
但是,由于时间限制以及我对 ASP.net MVC 开发相对较新,我希望尽可能少地进行技术编码或重写。
以下是现有 users 表的 create 语句的主要部分:
CREATE TABLE `User` (
`User_ID` int(11) NOT NULL AUTO_INCREMENT,
`Company_ID` int(11) NOT NULL,
`Email` varchar(255) NOT NULL,
`Firstname` varchar(255) NOT NULL,
`Surname` varchar(255) NOT NULL,
`Password` varchar(128) NOT NULL,
`Password_Salt` varchar(128) NOT NULL,
`Status` int(11) NOT NULL DEFAULT '1',
`Created` datetime DEFAULT NULL,
`Modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`User_ID`))
虽然我有一定的灵活性并且可以从用户表中添加或删除一些字段,但 User_ID 和 Company_ID 字段非常重要并且必须保留,因为它们在至少六个其他表中用作外键。
我也不想使用用户名字段,而是希望所有帐户登录都使用电子邮件字段。
目前的比赛状态
目前,我已经能够使用其默认的自动生成表集成功设置和测试标准 MySQLMembershipProvider...
my_aspnet_applications
my_aspnet_membership
my_aspnet_profiles
my_aspnet_roles
my_aspnet_schemaversion
my_aspnet_sessioncleanup
my_aspnet_sessions
my_aspnet_users
my_aspnet_usersinroles
在理想情况下,我宁愿替换 my_aspnet_users 表(删除过程中的所有其他表)并使用我自己的用户表(和角色表结构)。但是,我知道这涉及编写自定义 MembershipProvider ,这是我目前宁愿避免的事情,我需要一些快速且不涉及重新发明轮子的东西。
目前,我会通过使用一个键来解决默认的 Membership users 表和我自己的表之间的链接。
问题
- 在 my_aspnet_users 和 Users 之间创建链接的最佳方法是什么?
- 如何限制提供商仅使用电子邮件地址?
- 根据谁登录,我将如何从用户表中检索名字和姓氏以及公司 ID?(在登录时显示用户名而不是他们的电子邮件地址等)
- 有没有人发现任何文章、教程或视频对他们有类似或相同的帮助?
非常感谢任何人对此提供的任何帮助,我非常感谢!!!