0
我有一個mst_roles
表分貝followingstructure如何設置基於數據庫表的操作方法的授權訪問?
id RoleName
1 Admin
2 Manager
3 Operator
的mst_users
表是這樣的
id username password RoleId
1 bob 123 2
2 rick 777 3
在我的MVC我有一個控制器Orders
有兩個動作方法
public ActionResult TakeOrder()
{
}
public ActionResult StopAllTransactions()
{
}
我如何只讓角色經理 acce ss StopAllTransaction()
和運營商有權訪問TakeOrder()
?
但我如何去映射該角色= 「管理員」 到數據庫表的記錄id = 1,角色名= 「管理」 MVC如何知道Roles =「admin」是指DB表中的那個? –
您需要重寫自定義類中的'AuthorizeAttribute'類的方法'AuthorizeCore'。我將在前面的示例中更新我的代碼。 –
即時通訊這個新主題,所以我不得不問這個問題,如果你綁定usersRoles像AuthorizeDBRoleAttribute(Roles =「Role1,Role2」)它不會訪問數據庫表,而是一個harcodes字符串屬性字符串userRoles =「Role1,Role2, Role3" ; 在AuthorizeDBRoleAttribute類的權利......所以數據庫角色表是在無用的,因爲即使我添加新的角色,我仍然必須更新硬編碼字符串userRoles =「Role1,Role2,Role3」; 屬性因授權通過此字符串發生。另外,我想我必須遵循相同的技術用戶的auhorize? –