У меня есть три таблицы
dbo.PermissionFunc
, dbo.Roles
, dbo.Permissions
для моего asp.net MVC web application
.
dbo.PermissionFunc
содержит все имя функции в моем проекте.
dbo.Roles
содержит роли пользователя, такие как admin, user, subuser и т.д.
dbo.Permissions
содержит RolesId
от dbo.Roles
и PermissionFuncId
от dbo.PermissionFunc
.
Я хочу дать authorization
на основе значения, назначенного в dbo.Permission
.
Обновление в вопросе: Запрос, чтобы определить, имеет ли текущий пользователь разрешение или нет
string mail = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;
var usr = _user.GetUserByMail(mail);
var permFunc = _permissionfunc.FindByName("ActionResultName");
var permission = _permission.checkIfPermitted(Convert.ToInt64(usr.Usr_Role_ID), permFunc.PermFunc_ID);//usr.Usr_Role_ID is RoleId and permFunc.PermFunc_ID is the PermissionFunctionId
if(permission != null)
{
//Permission granted
}
else
{
//Permission Rejected
}
Заранее спасибо