Azure 和 MVC 中的成员角色

Posted

技术标签:

【中文标题】Azure 和 MVC 中的成员角色【英文标题】:Membership Roles in Azure and MVC 【发布时间】:2013-01-29 09:23:38 【问题描述】:

我正在开发一个 ASP.NET MVC3 网站,并且正在使用 Microsoft ASP.NET 通用提供程序。 网络配置:

<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>

Azure 中的 connectionStrings 没问题。 我使用查询脚本添加的 Aspnet 表和存储过程。迁移添加的表中的数据。我在管理门户中检查了它。 我可以获得个人资料成员资格和个人资料数据,但下面的代码返回空列表。

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

userName 是正确的,并且表 aspnet_UsersInRoles 也包含正确的数据。 页面上没有例外。 为什么 userRoles 是空的?

【问题讨论】:

【参考方案1】:

我通过创建从 SqlRoleProvider 继承的自定义提供程序来解决此问题。

【讨论】:

以上是关于Azure 和 MVC 中的成员角色的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure AD 的 Asp.net core mvc 基于角色的授权

Azure 云服务上的 Asp.Net Core MVC?

Azure AD B2C 单页应用角色

ASP.NET MVC:窗体身份验证及角色权限管理示例

为 Azure Web 角色定义缩放阈值

MVC 3 ASP.NET 角色-授权属性