Roles.GetRolesForUser();返回空白

时间:2010-12-18 21:43:14

标签: c# asp.net membership roles

当我调用Roles.GetRolesForUser()时使用asp.net成员资格api;什么也没有回报。当我调用Roles.GetAllRoles()时,返回所有角色。问题是什么?使用成员资格api验证用户的正确方法是什么?

3 个答案:

答案 0 :(得分:0)

Roles.GetRolesForUser()返回当前登录用户的角色。

1:确保在登录时执行它。

2:确保为用户分配了角色。

关于最佳方式的问题,我不确定你在问什么情况。但基本上如果您使用内置的ASP.NET登录控件,则无需执行任何操作。如果需要,可以显式使用Membership.ValidateUser方法。需要注意的一件事是你需要在web.config中设置FormsAuthentication。

答案 1 :(得分:0)

您是否使用IIS托管并完成了匿名身份验证?通常,任何安全提供程序都将使用它找到的最简单的安全提供程序。

它将从Anonymous开始,如果它被禁用,那么它将查找Forms,然后是Windows。

Visual Studio内置的cassini Web服务器将为您完成此操作。

答案 2 :(得分:0)

您需要在控制器中的cont之前添加 [InitializeSimpleMembership]