说我有一个ASP.Net MVC应用程序,这个应用程序(UI)引用一个业务逻辑层(BLL),BLL引用我的数据访问层(DAL).
我正在使用自定义会员和角色提供商进行授权.
我正在尝试确定哪些层需要引用我的会员提供商.
在MVC中,您可以通过以下方式执行授权检查:
[Authorize(Roles = "SomeRoleName")] public ActionResult Index() { //do something }
public static bool IsRoleEditor(User user,Role userRole) { bool retValue = false; if (user.Application.AppID == UserRole.Application.AppID) { if (Roles.IsUserInRole("ModifyRoles")) { retValue = true; } return retValue; }
如果我这样做,我将不得不引用并实例化两层的Membership类.这是建筑这样的应用程序的正确方法吗?似乎很多冗余.
因为我有一个BLL,我不要使用“[Authorize(Roles =”SomeRoleName“)]”属性,而是从MVC代码内调用一个BLL函数来检查用户是否在一个角色?如果我这样做,MVC仍然需要参考会员提供商进行身份验证,无论如何,要利用登录和其他ASP控件,对吧?
我是否离开基地,走向错误的方向?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。