大家下午好!我正在使用存储库模式来访问EDM,我想使用自定义属性AccessByRole
开发某种权限检查:
public abstract class RepositoryBase: IRepository
{
...
[AccessByRole]
public virtual void Add(T entity)
{
....
}
[AccessByRole]
public virtual void Update(T entity)
{
...
}
[AccessByRole]
public virtual void Delete(T entity)
{
...
}
[AccessByRole]
public virtual T GetById(long id)
{
...
}
}
使用存储库(我正在使用Autofac for IoC):
public class Service
{
private readonly IRepository repository;
public Service(IRepository repository)
{
this.repository = reporitory;
}
....
public UpdateUserEntities(...)
{
...
reporitory.Update(T); // There is a need for check user rights before calling this method.
}
}
在调用CRUD操作之前,有必要检查用户的权限。 所以我的问题是:属性源代码应该如何,所以在权限检查后调用CRUD操作?
答案 0 :(得分:0)
嗯,最简单的方法是检查每个动作中的角色,如果未经授权,则进行短路。例如:
width: 100%;