2012-05-08 5 views
0

В моем приложении у меня есть администратор, который может создавать объекты Tournament. Когда объект создается, служба также создает пользователя (на основе информации директора турнира, которая была введена при создании). Имя пользователя для пользователя - это адрес электронной почты директора, пароль генерируется случайным образом, а затем отправляется по почте директору.MVC3 User Authentication link

Когда директор входит в систему со своим адресом электронной почты и паролем, мне нужно уметь связывать его с его собственным турниром, чтобы позволить ему только отредактировать детали своего турнира. Я попытался найти способ сохранить TournamentId в базе данных ASP Net Users по умолчанию, но не увенчался успехом.

Я посмотрел на this Вопрос, который, несомненно, помог бы мне, но я не могу понять, как это применимо к моей проблеме. Когда пользователь входит в систему, я не могу поместить TournamentId в данные userdata, поскольку я этого не знаю.

Должен ли я затем выполнить поиск в таблице Tournament, чтобы узнать, какой идентификатор соответствует адресу электронной почты, введенному при входе в систему и хранящему его в userData? Кажется, это совершенно не так.

ответ

1

Думаю, у вас должен быть столбец CreatedBy в таблице турниров, где вы храните идентификатор пользователя, создавшего турнир. Затем, когда пользователь вошел в систему, получите его идентификатор (может быть от сеанса, если вы его там храните), выполните запрос выбора where CreatedBy=loggedInUserId. Это должно сделать трюк.

+0

Я думаю, что вы, возможно, неправильно поняли вопрос, но я думаю, что знаю, что теперь делать, спасибо. – Mekswoll