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