Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果我使用自己的数据库进行安全保护,那么在SimpleMembershipInitializer中自动创建表的目的是什么?_C#_Asp.net Mvc_Security_Asp.net Mvc 4_Simplemembership - Fatal编程技术网

C# 如果我使用自己的数据库进行安全保护,那么在SimpleMembershipInitializer中自动创建表的目的是什么?

C# 如果我使用自己的数据库进行安全保护,那么在SimpleMembershipInitializer中自动创建表的目的是什么?,c#,asp.net-mvc,security,asp.net-mvc-4,simplemembership,C#,Asp.net Mvc,Security,Asp.net Mvc 4,Simplemembership,我正在尝试将SimpleMembership用于我自己的数据库,该数据库已包含所有用户/角色等 为此,我将SimpleMembershipInitializer构造函数中的WebSecurity.InitializeDatabaseConnection行更改为指向我自己的表(注意autoCreateTables:true): 然后,我创建了自己的提供者,在这里我覆盖了“ValidateUser”方法 在这一点上,我启动了应用程序,登录,然后注销(这就是我的应用程序创建所需的全部——帐户在别处)。

我正在尝试将SimpleMembership用于我自己的数据库,该数据库已包含所有用户/角色等

为此,我将
SimpleMembershipInitializer
构造函数中的
WebSecurity.InitializeDatabaseConnection
行更改为指向我自己的表(注意
autoCreateTables:true
):

然后,我创建了自己的提供者,在这里我覆盖了“ValidateUser”方法

在这一点上,我启动了应用程序,登录,然后注销(这就是我的应用程序创建所需的全部——帐户在别处)。我查看了我的数据库,创建了以下表格:webpages\u成员、webpages\u OAuthMembership、webpages\u角色、webpages\u用户角色。然而,桌子上什么也没有。我启动了探查器,重复了这个操作,这些表根本就没有被引用过

那么,将
autoCreateTables
参数从
true
更改为
false
安全吗


是的,我读了这个问题,但它并没有回答我的具体问题。

基本上,MVC团队希望让人们能够快速启动和运行,而不必做很多新项目附带的平凡的用户/角色设置-概念是,获取数据库,创建某种用户表,让
SimpleMembershipProvider
来处理其余的事情(它太简单了!)


由于您已经开始创建自己的自定义提供程序,因此没有理由拥有这些额外的表,因此,如果数据库中存在您的成员资格表,您可以将
autoCreateTables
设置为
false

,这是绝对安全的,您可能需要
autoCreateTables:false
,这样您就不会意外地破坏现有记录或创建新的不需要的表。
WebSecurity.InitializeDatabaseConnection("NameOfMyConnectionString", "User", 
                               "UserId", "DomainLogin", autoCreateTables: true);