我有一個俱樂部表,當一個新的創建一個新的角色創建俱樂部(俱樂部的id)管理員。基於動態角色的方法授權
我希望能夠在該方法的授權屬性中引用此角色。
繼承人什麼伊夫試圖在控制器方法:
[Authorize(Roles = "Club" + clubId + "Admin")]
public ActionResult ClubDetails(int clubId)
{
var viewModel = db.Clubs
.Where(t => t.ClubId == clubId)
.Select(t => new ClubDetailsViewModel
{
ClubId = t.ClubId,
Name = t.Name,
ShortName = t.ShortName,
Founded = t.Founded,
ContactName = t.FirstName + " " + t.LastName,
Address1 = t.Address1,
Address2 = t.Address2,
City = t.City,
County = t.County,
Postcode = t.Postcode,
Telephone = t.Telephone,
Email = t.Email,
Website = t.Website,
Bio = t.Bio,
ClubTypeId = t.ClubTypeId,
MembershipStatusId = t.MembershipStatusId,
ChequesPayable = t.ChequesPayable,
BACSAcc = t.BACSAcc,
BACSSort = t.BACSSort,
PaypalAdd = t.PaypalAddress,
})
.FirstOrDefault();
return View(viewModel);
}
但是,這給出了clubId錯誤的授權屬性。在當前上下文中不存在名稱clubId
有沒有一種方法可以引用傳遞給authorize屬性中方法的參數?
好吧,授權屬性在綁定發生之前在MVC管道中執行。你我應該創建你自己的授權過濾器。 [這個答案](http://stackoverflow.com/a/12828402/1849444)將幫助你我。 –