Мне не ясно, чего именно ты пытаешься достичь.
Если вы хотите ограничить доступ пользователей исключительно к данным, которые им принадлежат, эти данные должны быть связаны с их идентификаторами в таблице «Пользователи».Вы очень мало рассказали о структуре таблицы, но я думаю, что можно с уверенностью предположить, что у вас есть таблица Courses и что-то вроде UsersInCourses, которые отображают множество пользователей на один курс.Все, что вам нужно сделать, это выбрать курсы, которым назначен идентификатор пользователя.Чтобы войти в систему в данный момент, вы просто должны обратиться к
User.Identity.Name
в коде вашего приложения.
Итак, давайте предположим, что ваш класс готовит рецепт:
public class Recipe
{
public int Id { get; set; }
public string Name { get; set; }
public string Author { get; set; }
public string PreparationInstructions { get; set; }
public DateTime CreationDate { get; set; }
}
иВы хотите иметь Действие, которое возвращает рецепты для текущего зарегистрированного пользователя
public ActionResult ShowMyRecipes()
{
var myRecipes = dbContext.Recipes.Where(recipe => recipe.Author.Equals(User.Identity.Name)).ToList();
return View(myRecipes);
}
public ActionResult CreateRecipe(Recipe recipe)
{
// set Author to curently logged in user's key
recipe.Author = Membership.GetUser().ProviderUserKey;
// save changes
dbContext.Recipes.Add(recipe);
}