2013-02-13 4 views
3

ASP.NET MVC3 웹 사이트를 개발 중이며 Microsoft ASP.NET Universal Providers를 사용하고 있습니다. 의 Web.config :Azure 및 MVC의 멤버십 역할

<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는 푸른에서 괜찮습니다. Aspnet 테이블 및 저장 프로 시저 쿼리 스크립트를 사용하여 추가했습니다. 마이그레이션으로 추가 된 테이블의 데이터. 관리 포털에서 확인했습니다. 프로필 멤버십과 프로필 데이터를 가져올 수 있지만 아래 코드는 빈 목록을 반환합니다.

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

userName이 정확하고 테이블 aspnet_UsersInRoles에도 올바른 데이터가 포함되어 있습니다. 페이지에 예외가 없습니다. userRoles가 비어있는 이유는 무엇입니까?

답변

2

이 문제는 SqlRoleProvider에서 상속 된 사용자 지정 공급자를 만들어서 수정합니다.