Roles.GetRolesForUser ();возвращается пустым - PullRequest
1 голос
/ 19 декабря 2010

используя API членства asp.net, когда я вызываю Roles.GetRolesForUser (); это ничего не возвращает. Когда я звоню Roles.GetAllRoles (), все роли возвращаются. В чем проблема? Также, как правильно аутентифицировать пользователей, используя API членства?

Ответы [ 3 ]

0 голосов
/ 19 декабря 2010

Вы размещались с использованием IIS и проводили анонимную аутентификацию? Обычно любой провайдер безопасности будет использовать самый простой из найденных.

Он будет начинаться с Anonymous, затем, если он отключен, он будет искать Forms, а затем Windows.

Веб-сервер cassini, встроенный в Visual Studio, сделает это за вас.

0 голосов
/ 28 февраля 2014

Вам необходимо добавить [InitializeSimpleMembership] перед продолжением в контроллере

0 голосов
/ 19 декабря 2010

Roles.GetRolesForUser () возвращает роли для текущего вошедшего в систему пользователя.

1: убедитесь, что вы выполняете его при входе в систему.

2: убедитесь, что пользователю назначена роль.

На ваш вопрос о наилучшем способе я не уверен, в каком контексте вы спрашиваете.Но в основном, если вы используете встроенный контроль входа в ASP.NET, вам не нужно ничего делать.Вы можете явно использовать метод Membership.ValidateUser, если хотите.Важно отметить, что вам необходимо установить FormsAuthentication в файле web.config.

...