3

ASP.NET MVC3 Webサイトを開発していて、MicrosoftASP.NETユニバーサルプロバイダーを使用しています。Web.config:

<connectionStrings>
<add name="MyContext" connectionString="data source=tcp:***.database.windows.net,1433;Initial Catalog=***;User Id=***;Password=***;Trusted_Connection=False;Encrypt=True;Connection Timeout=30" providerName="System.Data.SqlClient" />
</connectionStrings>
...
<roleManager defaultProvider="DefaultRoleProvider" enabled="true">
  <providers>
    <clear />
    <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider" connectionStringName="MyContext" applicationName="/" />
  </providers>
</roleManager>

connectionStringsはAzureで問題ありません。クエリスクリプトを使用して追加したAspnetテーブルとstoredprocedures。移行によって追加されたテーブルのデータ。管理ポータルで確認しました。プロファイルメンバーシップとプロファイルデータを取得できますが、以下のコードは空のリストを返します。

var userName = User.Identity.Name;
var userRoles = Roles.GetRolesForUser(userName).ToList();

userNameは正しく、テーブルaspnet_UsersInRolesには正しいデータも含まれています。ページに例外はありません。userRolesが空なのはなぜですか?

4

1 に答える 1