Francesco Bigi Ответов: 1

Как установить правила для aspnetrules?


Привет Ребята,
Я немного запутался в том, как установить правила как "администратор", "клиент", "обычный пользователь" на AspNetRules
То, что я сделал, это:
1. Я создал проект MVC
2. сделал строку подключения с моей локальной СУБД sql server management studio
3. я выполнил приложение и создал первого пользователя, чтобы создать все таблицы в моей БД. Как вы можете видеть ниже

Что я уже пробовал:

Привет Ребята,
Я немного запутался в том, как установить правила как "администратор", "клиент", "обычный пользователь" на AspNetRules
То, что я сделал, это:
1. Я создал проект MVC
2. сделал строку подключения с моей локальной СУБД sql server management studio
3. я выполнил приложение и создал первого пользователя, чтобы создать все таблицы в моей БД. Как вы можете видеть ниже
См. Изображение

То, что я пробовал на контроллерах -- & gt; AccountController. cs

//
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task Register(RegisterViewModel model)
{
if (!ModelState.IsValid) return View(model);
var user = new ApplicationUser() { UserName = model.UserName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
try
{
using (var dal = new DALEF.WebShopEntities())
{
dal.Client.Add(
new DALEF.Client{
CLI_Nom = model.Nom,
CLI_Prenom = model.Prenom,
CLI_Civilite = model.Civilite,
CLI_Email = model.Email,
CLI_Adresse = model.Adresse,
CLI_CodePostal = model.CodePostal,
CLI_Ville = model.Ville,
CLI_Telephone = model.Telephone,
CLI_AspUser_Id = user.Id
});
dal.SaveChanges();
}
}
catch (Exception)
{
// client n'est pas ajouté delete l'asp user créé
ModelState.AddModelError("", "Echec création client, veuillez réessayer");
return View(model);
}
//await UserManager.AddToRoleAsync(user.Id, "client");
await SignInAsync(user, isPersistent:false);
return RedirectToAction("Index", "Home");
}
else
{
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}


Но когда я создаю нового пользователя, я получаю сообщение об ошибке:
Кликните сюда

Когда я проверяю БД, я вижу, что пользователь создан, но не правило.

Как я могу создавать правила? Просто очень простые правила, такие как" администратор "или" обычный пользователь", чтобы создать [авторизацию] для представлений.

Заранее спасибо.

Richard Deeming

Я исправил ссылку на ваш первый снимок экрана, в котором отсутствовала буква "-" в "netdna-cdn".

Ошибка, показанная на втором снимке экрана, означает, что вы не создали роль под названием "Клиент" в базе данных. Если вы посмотрите в dbo.AspNetRoles в таблице вы увидите список ролей, которые вы уже создали. Вы можете добавлять пользователей только к ролям, которые отображаются в этой таблице.

1 Ответов

Рейтинг:
7

Francesco Bigi

Благодаря Ричард Диминг Я приехал, чтобы назначить правила для каждого создания пользователя.
То, что я сделал, это:
- созданное вручную правило" администратор "и" клиент"
- и каждый раз, когда пользователь регистрируется, он получает клиентское правило.

:)