2010-12-18 271 views
1

使用asp.net成员资格API当我调用Roles.GetRolesForUser();它什么都不返回。当我拨打电话Roles.GetAllRoles()时,将返回所有角色。问题是什么?还有什么是使用会员api验证用户的正确方法?Roles.GetRolesForUser();返回空白

+0

的续前添加[InitializeSimpleMembership]您使用的是的applicationName http://weblogs.asp.net/scottgu/archive/2006/04/22/Always -set-the-_2200_applicationName_2200_-property-when-configurations-ASP.NET-2.0-Membership-and-other-Providers.aspx – 2010-12-18 21:55:02

+0

它应该返回一个空数组,而不是任何东西。你确定你使用的是正确的数据库吗?也许错误的连接字符串? – 2017-10-02 13:11:14

回答

0

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

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

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

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

0

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

它将从匿名开始,那么如果它被禁用,那么它会寻找窗体,然后是Windows。

内置于Visual Studio中的cassini web服务器会为您做到这一点。