首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保护方法的授权

如何保护方法的授权
EN

Stack Overflow用户
提问于 2010-03-20 19:25:25
回答 2查看 646关注 0票数 0

我正在使用asp.NET MVC在C#中构建一个网站。

如何确保没有未经授权的人可以访问我的方法?

我的意思是,我想确保只有管理员可以在我的页面上创建文章。如果我将此逻辑放入方法中,并将此逻辑添加到数据库中,那么我的数据层中不会有业务逻辑吗?

建立一个始终位于数据层和业务层之间的单独的安全层是一种好的做法吗?

问题是,如果我在更高的级别上进行保护,我将不得不对许多地方进行检查,并且更有可能我错过了一个地方,用户可以绕过安全措施。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-20 21:43:31

授权过滤器(正如pmarflee所说的)是如何保护你的控制器的典型例子,尽管这并不总是能满足你的需求(例如,如果你通过其他方式暴露你的模型,比如你同时暴露了一个WCF服务)。

更具全局性和灵活性的方法是在某个地方(您选择的位置,但通常是在控制器或存储库基础上)需要一个安全服务,然后以某种方式传入一个用户上下文(通过params或构造函数)。是的,这意味着您必须确保在每个操作中调用该服务,但除非您决定使用某种面向方面的编程容器,否则很难避免这一点。

票数 2
EN

Stack Overflow用户

发布于 2010-03-20 19:32:46

看一下这个post,它解释了如何使用操作过滤器来提供对控制器操作的授权。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2482815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档