1

私は SimpleMembership を使用しておりApplication_Start()、次のコードを実行しています。

WebSecurity.InitializeDatabaseConnection("MyContext", "User", 
    "Id", "Email", autoCreateTables: true);

ただし、コントローラーで次のコード行を実行すると:

bool isAdmin = Roles.IsUserInRole("Admin");

次のエラーが表示されます。

列名 'UserId' が無効です。

UserId 列への参照はどこで取得されますか?

4

2 に答える 2

0

Web設定を設定していますか?

<roleManager enabled="true" cacheRolesInCookie="true">
    <providers>
        <clear />
        <add connectionStringName="YourDbConnectionString" 
             applicationName="MySampleAppName"
             name="AspNetSqlRoleProvider" 
             type="System.Web.Security.SqlRoleProvider" />
    </providers>
</roleManager>
于 2013-03-09T16:31:20.053 に答える
0

問題が見つかりました...

webpages_Membership には、「UserId」ではなく「Id」という列がありました。どー。

于 2013-03-09T16:50:27.557 に答える