,所以我有我的操作方法如何爲以下情況實現自定義授權屬性?
[Authorize(Roles="Admin")]
public ActionResult EditPosts(int id)
{
return View();
}
對我來說,我需要授權管理員,以便他們可以編輯的職位,但(這裏來了涼爽的一部分),我還需要允許柱的創建者能夠編輯這個帖子是一個普通的用戶。那麼我怎麼能過濾掉創建帖子的用戶以及管理員,但是讓其他人未經授權呢?我接受PostEntry id作爲路由參數,但那屬性和屬性只接受常量參數,看起來像是非常困難的東西,你的回答非常感謝,乾杯!
既然你可能不知道是誰創造的職位,直到你看到它。在保溼對象之後包含這個邏輯可能會更好。否則,如果您將此作爲一個方面實施,則可能需要查看帖子兩次(一次用於授權,一次用於編輯)。 – 2012-07-15 17:20:31
這個觀點很好,事實上,如果他的身份證是在角色條目上並且再次執行我的控制器邏輯,那麼我一定會查找。任何想法如何打一次數據庫? – Freeman 2012-07-15 17:56:02
如果您使用的是良好的ORM並且在授權調用之前設置好上下文(不確定該部分),請考慮更多一點,然後它應該緩存在第一級緩存中。然後,你不應該看到第二次水合物的一擊。 – 2012-07-15 20:13:12