2015-12-09 4 views
1

Я использую Entity Framework DBFirst. Таблица My Users имеет следующий формат:Внедрение ASP.NET MVC5 Identity без создания другой таблицы

ID, email, fn, ln, password, role.

Таким образом, пользователь может быть как клиентом, так и администратором. Я успешно реализовал Identity, используя этот учебник http://benfoster.io/blog/aspnet-identity-stripped-bare-mvc-part-1, но я не знаю, что мне делать дальше. Я хочу использовать этот формат db, не создавая другую таблицу.

Я хочу это: если вы являетесь клиентом, вы можете перейти только на 2 страницы. Если вы являются администратором, вы можете делать все, что хотите на странице. Если вы не вошли в систему, вам необходимо войти в систему, если вы хотите перейти на сайт . (сделал это)

Спасибо.

+1

Я уверен, что после того, как быстро прибегая к помощи вы можете найти учебник, в основном вы просто переопределить пару классов, который соединяет пользователь obects к контексту db –

+0

Можете ли вы показать нам, что у вас есть? Если нет, то совету Скотта будет один; – hbulens

+0

Я уверен, что вы можете найти что-то здесь. Это рекомендуется для ресурсов asp net mvc identity http://www.asp.net/identity/overview/getting-started/aspnet-identity-recommended-resources – oneNiceFriend

ответ

0

Вы можете добавить столбцы из первой таблицы, добавив их в виде столбцов в таблице пользователя до миграции (но помните, что вы не можете иметь два Id's с тем же именем, конечно):

public class ApplicationUser : IdentityUser 
{ 
    public int id {get;set;} 
    public string email {get;set;} 
    //The rest o 
} 

И контролировать, кто может получить доступ к какому набору аннотации данных выше действий, которые вы хотите конкретная единичная группа, чтобы иметь возможность получить доступ к следующему образом:

[Authorize(Roles = "Admin")] 
public ActionResult AdminsOnlyPage() 
{ 
    return View(); 
} 

И если вы хотите, чтобы держать весь класс от не авторизована лиц , добавьте аннотацию данных к уровню класса (без указания в пользователь га или роль), которая будет держать все действия недостижимы, пока один вошла в:

[Authorize] 
public class MyClass 
{}