我正在學習ASP.NET MVC3,並且爲我的Model/Context創建了一個控制器。但是,任何人都可以導航到這些頁面並使用它們。我如何設置這些頁面的權限?如何爲我的CRUD設置權限?
0
A
回答
2
AuthorizeAttribute將成爲您的第一道防線。您可以根據組成員資格或用戶名授予訪問權限。與Code Access Security/Principal Permission Attributes非常相似,但並不難。
例子:
// Allow Everybody in
public ActionResult Index()
{}
// Allow only Editors/Admin to post edits back to controller.
[HttpPost]
[Authorize(Roles="Admin,Editor"]
public ActionResult Edit(EditViewModel vm)
{}
您可以在類或方法級別使用它們,這樣你就可以有一個基本的控制器,只有讓授權用戶使用應用的某些控制器。
如果您發現自己一遍又一遍地使用相同的組或用戶,我會創建一個覆蓋預定義了這些組的AuthorizeAttribute,這樣您就不會拼錯或忘記它們。這也會干擾你的代碼,這總是很棒的。
1
您可以使用Authorize屬性來rstrict權限,通常這是從基類繼承的。這是最常見和推薦的。
您可以使用ActionFilter屬性並覆蓋OnActionExecuting並在其中設置自定義邏輯。可能的,但不是推薦的。
還有很多其他方法,但前兩個是MVC的主要方法。
相關問題
- 1. 如何設置權限的IIS8爲AWSTATS
- 2. IIS 7權限:如何爲目錄設置正確的權限?
- 3. 我的SQL設置權限
- 4. 我如何設置權限通過API
- 5. SQL如何設置權限
- 6. 如何將世界權限設置爲與組權限相同?
- 7. 如何設置設備庫的權限?
- 8. 設置權限
- 9. 如何設置OneNote API的權限
- 10. 如何設置Android藍牙的權限
- 11. 如何設置Linux文件的權限?
- 12. asp.net datasource detailsview和CRUD權限
- 13. 快遞JWT權限:如何設置權限?
- 14. WordPress的權限設置爲777
- 15. 如何設置文件權限 - Android
- 16. 如何設置刪除權限?
- 17. 如何從Perl設置文件權限?
- 18. 如何設置擴展權限?
- 19. 如何在android中設置權限WRITE_SECURE_SETTINGS?
- 20. 如何在Bukkit中設置權限?
- 21. 如何設置最低權限從PHP
- 22. 如何設置BroadcastReceiver權限(安全)
- 23. cakephp如何設置ACL權限
- 24. 如何設置Jenkins Slave權限
- 25. 如何設置文件夾權限
- 26. 如何在neo4j中設置權限?
- 27. Sharepoint 2007:如何設置列級權限?
- 28. 如何設置用戶權限?
- 29. 如何設置文件夾權限?
- 30. 權限 - Apache和Pure-FTPd - 如何設置?
我建議訪問http://www.asp.net/mvc/overview/security,然後再問這樣的一般問題。 – marapet
謝謝,這真的很有幫助。 –