Примечание: Я использую vs2013 express и ничего не установил.Я добавил пользователя и назначил его роли, когда я использую Memberhip.GetAllUsers(), он возвращает none
Я строй сайта интранета со следующими целями аутентификации/авторизации:
- пользовательских ролей, используя класс ролей
- Нет необходимости для регистрации в, если вы вошли в окно , то вам разрешено видеть приложение
- Можете использовать [Авторизовать (Роли = «Администратор»)] вид атрибутов
- Уметь мужчине возраст пользователей (Создать/Удалить/Список/Изменить) на странице UserManagement.
, но я не знаю, как создать/список из пользователей ... это то, что я до сих пор:
Я добавил пользователь и назначил его на роль, когда я использую Membership.GetAllUsers() возвращает ни
Web.config биты:
<authentication mode="Windows"></authentication>
<authorization>
<deny users="?" />
</authorization>
<roleManager enabled="true" defaultProvider="SqlRoleManager">
<providers>
<clear/>
<add name="SqlRoleManager"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="EFDbContext"
applicationName="TEST" />
</providers>
</roleManager>
<membership defaultProvider="SqlProvider"
userIsOnlineTimeWindow="15">
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="EFDbContext"
applicationName="TEST"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10" />
</providers>
</membership>
Я добавил свой первый пользователь в Global.asax, как это:
if(!Roles.RoleExists("Admin"))
{
Roles.CreateRole("Admin");
Roles.AddUserToRole(@"JIMMYT1988\jimmyt1988", "Admin");
}
Пользователь и роль работает, потому что если я заблокировать доступ к администратору, я разрешаю в .. а если я создал пользователя без добавив роль, ему не разрешили доступ ... так что все хорошо и работает.
это меня блокирует доступ только к роли администратора:
[Authorize(Roles = "Admin")]
public class UserController : Controller
{
private IUserRepository repository;
public UserController(IUserRepository repo)
{
repository = repo;
}
public PartialViewResult List()
{
IEnumerable<User> users = repository.Users;
UserListViewModel viewModel = new UserListViewModel();
viewModel.Users = users;
viewModel.TotalUsers = Membership.GetNumberOfUsersOnline().ToString();
return PartialView(viewModel);
}
}
Так я предполагаю, что пользователь и роль администратора правильно работать, и я могу видеть заходы в базе данных ... Вышеуказанный контроллер является частью абстрактного -> конкретного сопоставления для конкретных пользователей членства в профиле ... но я отлаживал линию GetAllUsers и фактически возвращает пустой список, это неверное отображение.
Наконец я называю это:
MembershipUserCollection users = Membership.GetAllUsers();
, который не возвращает пользователей.
Любая идея?
Почему этот вопрос есть вниз голосование? Могу ли я добавить дополнительную информацию? Я довольно новичок в C# и т. Д. – Jimmyt1988
Пользователь? JIMMYT1988 \ jimmyt1988 "существует? – alexmac
Я добавил немного больше к моему OP, который говорит, почему я сделал предположение, что пользователь действительно существует. – Jimmyt1988