我是MVC的新手。所以我只是用带有互联网模板的vs2013创建一个mvc项目。我发现一个班叫InitializeSimpleMembership
。告诉我该课程的用途是什么。
OnActionExecuting & SimpleMembershipInitializer
当我尝试访问任何受保护的页面或单击登录或注册链接时,我在该函数上设置了断点,并看到此函数被调用。我需要关于这堂课的一些见识InitializeSimpleMembership
。
这条线在做什么LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock);
?
告诉我下面的例程在做什么
public SimpleMembershipInitializer()
{
Database.SetInitializer<UsersContext>(null);
try
{
using (var context = new UsersContext())
{
if (!context.Database.Exists())
{
// Create the SimpleMembership database without Entity Framework migration schema
((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
}
}
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
}
catch (Exception ex)
{
throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized.", ex);
}
}
我可以理解这一行context.Database.Exists()
正在尝试检查特定的数据库是否存在。它尝试检查哪个数据库是否存在?
这条线在做什么WebSecurity.InitializeDatabaseConnection()
?
指导我需要做些什么,因此简单的成员资格提供程序可以创建所需的表,并且可以根据数据库验证用户。
告诉我,如果我需要添加更多字段,那我需要做什么。寻找指导。谢谢
ASP.NET MVC 4引入了SimpleMembership提供程序。它扩展了核心成员资格和角色提供程序,以便更灵活地将用户信息存储在自定义数据库中。
该属性InitializeSimpleMembershipAttribute
负责初始化简单的成员资格提供程序,定义应使用哪个上下文类与数据库一起使用(UserContext
该类)。
所述WebSecurity.InitializeDatabaseConnection
初始化会员系统通过应用于登录和连接字符串(“DefaultConnection”),其中,所述用户简档数据被存储(“用户配置”)的表的名称和字段的名称指定数据库以便将用户个人资料与会员帐户进行匹配。
该方法LazyInitializer.EnsureInitialized
仅确保简单成员资格被初始化一次。
此属性在管理由连接字符串指定的数据库中的成员资格时创建必要的表。因此,它UserProfile
使用“ UserId”和“ UserName”列为模型类创建表,并使用“ UserId”作为外键与身份验证和授权所需的其他自动生成的表相关。在AccountController
包含所有可以在用户配置文件来执行的基本操作装饰与属性,这样每次用户试图登录或注册会员简单,自动初始化。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句