Я смотрю на учетную запись MVC
контроллер .... кажется, что из
asp.net?
Скотт Гатри довольно хорошо объясняет это в своей записи в блоге о ASP.NET MVC Preview 4 . Он в основном говорит, что Account Controller из примера MVC использует поставщика членства ASP.NET, поэтому вы можете использовать любой из них. (Я думаю, что вы можете узнать больше о поставщиках членства в ASP.NET в Интернете.) Если вы не хотите внедрять / использовать один из них, вероятно, лучшим вариантом будет модификация приложения для использования собственного управления пользователями. *
Как вы используете его в MVC для
ограничить какие страницы вошли пользователь
можно посмотреть? Вы должны свернуть все
что по вашему?
Вы можете добавить атрибут Authorize
к классу контроллера или методу действия. (Тот же источник , что и выше.)
// Only logged in users can access this controller.
[Authorize]
public class SomeController : Controller
{
#region Not really important for this example. :]
// Maybe rather use a BLL service here instead of the repository from the DAL, but this example is already more verbose than required.
private IStuffRepository stuffRepository;
public SomeController(IStuffRepository stuffRepository)
{
if (null == stuffRepository)
{
throw new ArgumentNullException("stuffRepository");
}
this.stuffRepository = stuffRepository;
}
#endregion
// The authorize attribute is inherited - only logged in users can use the index action.
public ActionResult Index()
{
return View();
}
// Moderators can flag stuff.
[Authorize(Roles="Moderator")]
public ActionResult Flag(int id)
{
this.stuffRepository.Flag(id);
return RedirectToAction("Index");
}
// Admins ans SysOps can delete stuff.
[Authorize(Roles="Admin,SysOp")]
public ActionResult Delete(int id)
{
this.stuffRepository.Delete(id);
return RedirectToAction("Index");
}
// Only joed can change the objects stuff. ;)
// (This is probably bullshit, of course, but I could not make any better example. I blame the fact it is late at night. :))
[Authorize(Users="COMPANY\\joed")]
public ActionResult ChangeId(int oldId, int newId)
{
this.stuffRepository.ChangeId(oldId, newId);
return RedirectToAction("Index");
}
}