簡體   English   中英

ASP.NET角色保存在哪里?

[英]Where are ASP.NET roles saved?

我正在嘗試使用ASP.NET MVC角色。 我在web.config中添加了一個條目:

  <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\resorg-db.mdf;Integrated Security=True"/>
  </connectionStrings>

  <system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <roleManager enabled="true" />
  </system.web>

我沒有啟用遷移,現在我更喜歡在每次模型更改時重新創建數據庫。

我以編程方式在DB Initialize方法中添加了一個角色,例如:

Roles.CreateRole("root");
Roles.AddUserToRole(testUser.UserName, "root");
context.SaveChanges();

問題:當我第一次運行此程序時,一切都很好。 當我更改模型並再次運行初始化方法時,我收到一個錯誤消息,該角色已經存在。 我使用服務器資源管理器瀏覽了數據庫,但是AspNetRoles和AspNetUserRoles都是空的。 角色保存在哪里? 在與我的數據庫相同的文件夾中,還有另一個數據庫,稱為aspnetdb.mdf。

我試圖使用SysTools MDF Viewer 1.0打開它,但是格式無效。

獎勵問題:我在另一個項目中也進行了一些測試。 這將重新創建數據庫並運行相同的測試。 我的問題是我收到此錯誤:

System.Configuration.Provider.ProviderException: The Role Manager feature has not been enabled.

盡管我在app.config中為unittest項目添加了相同的條目。

發現了問題:我需要將連接字符串添加到roleManager條目中。 如果沒有連接字符串,ASP.net將創建另一個數據庫來存儲角色。 請參閱ASP.Net成員資格:保存在不同數據庫中的角色

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM